java - JFrame Keylistener 正在接受用户的输入

标签 java swing jframe keylistener

我已将 KeyListener 添加到 JFrame

字符串1:编码 显示:_ _ d _ n g

如果我按 c,它应该填补空白,否则它应该等待我按另一个键。

我只需要给用户 4 次机会。

我已经在控制台中构建了这个,但在控制台中我可以在循环内添加扫描仪。

如何在 JFrame 中执行此操作?

JTextField textField = new JTextField();
    JLabel keylabel = new JLabel("Press any key");

    @Override
    public void keyPressed(KeyEvent e) {
         int keycode = e.getKeyCode();
         if(keycode == KeyEvent.VK_C)
             keylabel.setText("You pressed correct");
         else
             keylabel.setText("You pressed wrong");

    }

我使用的上述代码我不知道如何为所有空白重复该代码。

最佳答案

我会提出这样的建议:

JTextField textField = new JTextField();
JLabel keylabel = new JLabel("Press any key");
private int tries = 10;

@Override
public void keyPressed(KeyEvent e) {
     keylabel.setText("You pressed " + (e.getKeyCode() == KeyEvent.VK_C ? "correct" : "wrong"));
     if (--tries <= 0) {
         keylabel.setText("No tries left");
         textField.setEnabled(false);
     }
}

关于java - JFrame Keylistener 正在接受用户的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59681619/

相关文章:

java - 如何为 java.awt.Frame 进行键绑定(bind)?

java - JTextField 卡在 ActionListener 的特定文本上

java - Java 内存消耗的类级分析

java - 访问循环中创建的各个 JTextField 的值

java - CardLayout 在 Windows 上无法正确呈现

java - 按钮未出现在 JFrame 中

java - 在 `repaint()` 之后,在 JFrame 中心绘制圆圈不会更新

java - 当我尝试使用 .getText() 时,JTextField 想成为最终结果

java - 替换字符串的字符忽略空格直到java中的字符

java - 我应该使用 JFrame 还是 JDialog?