为打字游戏添加 ActionListener

Adding ActionListener for a typing game

一直在查看有关 ActionListenerJTextField 一起使用的大量文档,并且看到很多出于类似原因提出的其他问题,但我似乎无法将解决方案应用到我的问题。 我需要的基本前提是屏幕上会有一个文本字段供用户输入单词。

我想要一个计时器在按下某个键后在后台启动 运行。 (最好输入或空格键)然后当整个句子写完时计时器应该停止。到目前为止,我还没有很幸运地通过按键来启动一个事件。下面是一些实际上不起作用的代码,我可以成功地创建带有文本框的框架我只是无法让动作侦听器按照我想要的目的工作。

input = new JTextField();
input.setBounds(10, 150, 780, 35);
panel.add(input);
input.addActionListener(new ActionListener());

public void actionPerformed(ActionEvent e) {
}

没有在 actionPerformed 方法中添加任何内容,因为我 运行 的所有测试都不成功。不要求完整的代码,但指向正确方向的指针可能会有所帮助。是的,我已经阅读了有关如何使用 addActionListener() 的文档,但我无法将其应用于我想做的事情。

您需要 KeyListener,而不是 ActionListener。

实现KeyListener,然后在方法keyPressed(KeyEvent name)中, 使用 switchif 语句键入 e.getKeyCode。 例如(伪代码):

 javax.swing.JTextField input=null;
 javax.swing.JPanel panel=null;
 public class X implements java.awt.event.KeyListener{

 input = new javax.swing.JTextField();
 input.setBounds(10, 150, 780, 35);

 panel.add(input);
 input.addActionListener(new ActionListener());
 input.addKeyListener(this);
 public void keyPressed(java.awt.event.KeyEvent e){
 if(e.getKeyCode==e.VK_W){
 //Enter code here 
 }}public void actionPerformed(ActionEvent e) {
 //then upon enter the timer stops
 }


 }