4

目前我在一个 Java 项目中,该项目是控制台驱动的。我想实现一个功能,当用户在我的程序的命令行中按下向上箭头时,命令行将显示用户运行的最后一个命令。

我发现了一些关于键盘事件的信息,如下所示,

public void keyPressed(KeyEvent evt);
public void keyReleased(KeyEvent evt);
public void keyTyped(KeyEvent evt);

但是,我只是不知道如何将命令字符串带到命令行。例如,当用户按下“向上”时,该命令应该带回最后一个命令作为命令行上的预输入。

4

2 回答 2

1

除非应用程序使用特殊的 API,否则它的控制台输入受控制台驱动程序的支配(对于虚拟控制台,提供虚拟控制台的应用程序)。幸运的是,有一个项目将 Java 连接到 readline 或 editline API,它将提供编辑工具,包括使用向上箭头检索前一行。见http://java-readline.sourceforge.net/

于 2011-02-25T19:38:02.640 回答
0

当用户执行命令时,将其存储在临时变量中
public void keyPressed(KeyEvent evt);
,当用户按下向上键时,将该变量中的值显示到屏幕上

示例代码:

public void executeCommand(String command){
    temp = command;
    // your code
}



public void keyPressed(KeyEvent evt){
    //display the value in the temp variable to screen
}
于 2011-02-25T19:30:52.973 回答