当前位置: 代码迷 >> J2SE >> swing干的登录界面取不到Textfield的值
  详细解决方案

swing干的登录界面取不到Textfield的值

热度:54   发布时间:2016-04-24 00:45:21.0
swing做的登录界面取不到Textfield的值
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试试看呢?