ActionListener在第二次按下后完美运行

时间:2013-07-31 18:59:49

标签: actionlistener

entercommand.addActionListener(new ActionListener(){

        public void actionPerformed(ActionEvent event) {
            String userinput = enterword.getText();
            String userinput2 = entersecondword.getText();
            if (" ".equals(userinput) || " ".equalsIgnoreCase(userinput2)) {

                JOptionPane.showMessageDialog(null, "The space is empty please try again");

            } else {
                enterword.setText(" ");
                entersecondword.setText(" ");
                System.out.println("test");
                JapanesestudiesExcel JE = new JapanesestudiesExcel();
                JE.JapanesestudiesExcel(userinput, userinput2);

            }
            ;
        }
    });

它会在第二次触发监听器时检查字段框中的输入,但第一次不起作用。为了更好地解释这一点,当用户输入任何内容时,它不会检查空字符串,而是将空框写入excel。第二次触发ActionListener时,它会完美地检查并将消息报告给用户。为什么会这样?

1 个答案:

答案 0 :(得分:0)

你正在测试这个空间,而不是空字符串:

(" ".equals(userinput) || " ".equalsIgnoreCase(userinput2))

删除空格:

("".equals(userinput) || "".equalsIgnoreCase(userinput2))

此外,这就是为什么它第二次点击它时会起作用的原因:

enterword.setText(" ");
entersecondword.setText(" "); 

您正在将字段设置为空格,因此下次将会是真实的。