下面的程序中基本上已经改好了,但是当输入全部为空的时候还是会出现问题的,但是本质的问题我已经帮你解决了,其他的问题,你慢慢探讨吧。下面是修改后的程序:
package org.twq.java
import javax.swing.*
import java.awt.*
import java.awt.event.*
//模拟邮箱登陆
public class Email implements ActionListener {
char[] password = { '1', '2', '3' }// 正确的密码
String id = "hao"// 正确的用户名
JPasswordField textpassword
JTextField textname
JLabel lbmsg
//
JPanel panel
JLabel lbname
JLabel lbpassword
JButton btn
public static void main(String[] agrs) {
JFrame f = new JFrame("邮箱登陆系统")
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
Email email = new Email()// 创建本身的一个对象email
JPanel panel = email.createComponents()// 调用init方法创建界面
f.getContentPane().add(panel)
f.setSize(200, 150)
f.setVisible(true)
}
// 在init中创建图形界面
public JPanel createComponents() {
panel = new JPanel(new FlowLayout())
lbname = new JLabel("用户:")
textname = new JTextField(10)
lbpassword = new JLabel("密码:")
textpassword = new JPasswordField(10)
btn = new JButton("登录")
lbmsg = new JLabel("请输入账密!")
//textname.addActionListener(this)
//textpassword.addActionListener(this)
btn.addActionListener(this)
panel.add(lbname)
panel.add(textname)
panel.add(lbpassword)
panel.add(textpassword)
panel.add(btn)
panel.add(lbmsg)
return panel
}
// 事件处理的方法
public void actionPerformed(ActionEvent e) {
boolean b = true
// 输入的密码保存到数组c中
char[] c = textpassword.getPassword()
// 输入的密码与正确的密码对比
for (int i = 0i <password.length - 1i++) {
if ((c[i] != password[i]) || (c.length != password.length)) {
b = false
break
}
}
if (!textname.getText().equalsIgnoreCase(id)) {
lbmsg.setText("该用户名不存在,请重新输入!")
textpassword.setText("")
textname.setText("")
} else {
if (b) {
lbmsg.setText("登录成功,欢迎回来!")
} else {
lbmsg.setText("密码输入有误,重新输入!")
textpassword.setText("")
}
}
}
}
有的时候 不要考虑纯web网页,从移动端作为入口去爬是最简单的方法http://m.mail.163.com/?come=wap
这个是163手机邮箱的地址,从这里去找表单提交的方法,通过httpclient模拟提交表单,然后读取邮件列表
再通过httpclient去打开邮件取数据
给你思路了 剩下的可以去写代码了~
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)