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时,它会完美地检查并将消息报告给用户。为什么会这样?
答案 0 :(得分:0)
你正在测试这个空间,而不是空字符串:
(" ".equals(userinput) || " ".equalsIgnoreCase(userinput2))
删除空格:
("".equals(userinput) || "".equalsIgnoreCase(userinput2))
此外,这就是为什么它第二次点击它时会起作用的原因:
enterword.setText(" ");
entersecondword.setText(" ");
您正在将字段设置为空格,因此下次将会是真实的。