【发布时间】:2018-01-20 09:49:40
【问题描述】:
我曾经使用下面的扫描器类通过 cmd 提示符监听用户的输入,但我试图让 Java 应用程序通过使用 keyTyped 方法来监听文本。
public static void main(String[] args) throws IOException {
new AsteroidsGame();
InputStream inputstream = new InputStream() {
@Override
public int read() throws IOException {
return 0;
}
};
try {
FileOutputStream output = new FileOutputStream("HighScore.txt",true);
Scanner input = new Scanner(System.in);
PrintStream printStream = new PrintStream(output);
printStream.println(input.next() + " " + points);
printStream.close();
System.out.println("Success!");
}
catch(IOException e){
System.out.println(e);
}
}
我不知道如何处理让它监听击键并将字母组合成一个单词的方法。 (这是为游戏获取人名的一种方式)
@Override
public void keyTyped(KeyEvent e) {
if(lives == 0)
{
e.getKeyCode() = KeyEvent.???
}
}
任何建议都将不胜感激,因为 Java 库和 Internet 的其他部分在示例或帮助方面提供的很少。
【问题讨论】:
-
关键监听器/事件用于 Swing GUI,而不是控制台。
KeyEvent的完全限定名称是什么? -
对不起,我没有说清楚。这是一个摆动 GUI。它是一款名为 asteroids 的游戏,这是我在玩完游戏后尝试获取用户姓名的尝试。至于名字,那是我的问题,我不知道我需要在该行中输入什么内容才能接受有人输入他们的名字。
-
如果这是一个 Swing GUI,您没有显示任何组件的使用。你在画什么游戏对象?哪个组件应该接收名称?为什么不使用普通的文本字段?小心关键听众,他们可能会给你带来焦点问题,请参阅stackoverflow.com/questions/22741215/…。
-
查看本页底部的最新帖子
-
这不是一个论坛,答案没有顺序(我可以通过投票来排序)所以最新的并不总是在底部。任何其他信息都通过editing 进入您的问题,而不是通过发布答案(这将被删除,因为它不是答案)。
标签: java keylistener