【发布时间】:2020-09-22 12:28:31
【问题描述】:
我正在尝试创建一个小程序,您必须在其中显示匹配的字谜时猜测单词。我的代码是这样的:
JFrame frame = generateJFrame(BACKGROUND, FOREGROUND);
JLabel display = generateDisplay(BACKGROUND, FOREGROUND);
Pair now = woerter.shuffle();
display.setText(now.getAnagram());
JTextField input = generateInputBox(BACKGROUND, FOREGROUND);
ActionListener action = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
nextWord(now, woerter, display, input);
}
};
input.addActionListener(action);
[...]
private static void nextWord(Pair now, Woerter woerter, JLabel display, JTextField input) {
if (now.getRealWord().equalsIgnoreCase(input.getText())) {
now = woerter.shuffle();
display.setText(now.getAnagram());
input.setText("");
}
}
现在,当我执行它时,它第一次起作用(当您输入正确的单词并按 enter 时,会显示一个新的字谜并且输入字段会清除),但之后它会中断并且 enter 不再执行任何操作。 我究竟做错了什么?任何帮助将不胜感激。
【问题讨论】:
-
不再做任何事情 - 定义它。你怎么知道什么都不做?你有一个 if 语句。如果陈述是假的,那么什么都不会发生。所以你需要显示你正在比较的值,看看为什么这个语句是错误的。
标签: java swing actionlistener jtextfield