0

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 时,它会完美检查并将消息报告给用户。为什么会出现这种情况?

4

1 回答 1

0

您正在测试一个空格,而不是空字符串:

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

删除空格:

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

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

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

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

于 2013-07-31T19:06:32.110 回答