我正在尝试找出为什么KeyListener无法完全执行,这让我感到非常沮丧。可能是Java中的某些东西我不知道。
我正在尝试使用KeyListener通过“Enter”键捕获用户在JTextArea中输入的文本。当用户按下Enter键时,他们在JTextArea中输入的字符串会通过`.getText()`保存,然后使用`.equalsIgnoreCase()`与另一个字符串进行比较,以查看它们是否匹配,但程序似乎完全忽略了这一批代码。我已经试图找到我的错误三天了,但一直没有头绪。
以下是我的代码示例。在此示例中,我正在尝试使程序在用户键入单词“quit”时执行`System.exit(0)`。任何帮助都将不胜感激。我真的希望我没有忘记什么愚蠢的事情。
我正在尝试使用KeyListener通过“Enter”键捕获用户在JTextArea中输入的文本。当用户按下Enter键时,他们在JTextArea中输入的字符串会通过`.getText()`保存,然后使用`.equalsIgnoreCase()`与另一个字符串进行比较,以查看它们是否匹配,但程序似乎完全忽略了这一批代码。我已经试图找到我的错误三天了,但一直没有头绪。
以下是我的代码示例。在此示例中,我正在尝试使程序在用户键入单词“quit”时执行`System.exit(0)`。任何帮助都将不胜感激。我真的希望我没有忘记什么愚蠢的事情。
playerInput.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_ENTER) {
String test = playerInput.getText();
String quit = "quit";
playerInput.setText("");
if(test.equalsIgnoreCase(quit))
System.exit(0);
}
}
public void keyPressed(KeyEvent e) {}
public void keyTyped(KeyEvent e) {}
});
String test = playerInput.getText().trim();
- nullpotentkeyReleased
方法的开头放置一个println
语句以确保该方法实际上被调用了吗?如果没有,我敢打赌你可能遇到了焦点子系统的问题。 - wchargin