- Java code
private void initComponents() { //登录方法 jButton1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { String userno = jTextField1.getText(); String password = new String(jPasswordField1.getPassword()); if (userno.equals("")) { MsgLabel.setText("*请输入编号"); return; } else if (password.equals("")){ MsgLabel.setText("*请输入密码"); return; } if (userlist != null) { if (userlist.getUserno().equals(userno) && userlist.getUserpwd().equals(CommonFunction.MD5(password))) { new Chat(); dispose(); } else { MsgLabel.setText("*编号或密码错误"); } } else { userlist = userlistMapper.getUserlistByNo(userno); if (userlist != null && userlist.getUserpwd().equals(CommonFunction.MD5(password))) { jTextField2.setText(userlist.getUsername()); MsgLabel.setText(""); } else { jTextField2.setText(""); MsgLabel.setText("*编号不存在"); } } } }); }
代码如上,点击button1,取不到jTextField1和jPasswordField1的值,userno和password一直是空串怎么回事,新手求教
------解决方案--------------------
你button1有加监听器吗
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
initComponents();
}
});
------解决方案--------------------
你可以测试下打印:jTextField1.getText().trim(),另外你在监听类里的dispose()方法是重新定义的吗?不是组件的dispose方法吧?我估计后者会报错。
提议做以下检查:
1)按钮名对否对应;
2)文本框、密码框是否对应;
3)确保在构造方法中(不一定)调用了initComponents()方法。
------解决方案--------------------
我最近小学期作业在做ATM系统,做登录界面时,在输入账号和密码总是多按很多次键(刚开始以为Java GUI反应慢),然后才能显示出账号和密码,还显示输入错误登不上。后来知道是那个TextField那出的问题,在登录窗口时,TextField应该看得到光标在其中闪烁等待输入。我想你应该也是这的问题。。。。
------解决方案--------------------
actionListener用this试试看呢?