我需要使用 JtextPanel 从键盘获取输入,按 Enter 时将其保存在字符串中,然后使用该字符串根据输入中给出的行执行某些操作(例如“帮助”或“退出”)。我在 JTextPanel 的 KeyListener 中得到了这个:
...
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
if (key == KeyEvent.VK_ENTER) {
inputString = textField.getText();
textArea.append(inputString + "\n");
textField.setText("");
}
}
....
,但我不能直接调用这个方法。我需要类似的东西
String input = processInput();
if((input).equals("help"))
............
else if ((input).equals("go"))
............
并且 processInput 应该是一个等待 (key== KeyEvent.VK_ENTER) 的方法,就像您使用 C 中的 scanf 或 java 中的 bufferedReader 时发生的那样,它会等待您从键盘输入一个字符串,直到您按下回车键。编辑
我的应用程序管理这样的命令
while(!finished) {
finished = processInput()
}
processInput 管理输入中给出的命令。这就是为什么我不能从 keyListener 调用 processInput() 我希望我很清楚,我的英语太糟糕了!
谢谢