当前位置: 首页 > 面试题库 >

Java中的KeyPressed事件

赵永逸
2023-03-14
问题内容

我刚刚创建了一个Java井字游戏,我想弄清楚在特定条件下按下Enter键后如何运行方法,下面是一个示例…

if(/*condition is met*/){
     //keyListener
}

问题答案:

根据要在何处捕获“
enter”键,可以使用ActionListener(在诸如文本组件或按钮之类的组件上)或将键绑定附加到组件上

public class MyPanel extends JPanel {

    public MyPanel() {

        InputMap im = getInputMap(WHEN_FOCUSED);
        ActionMap am = getActionMap();

        im.put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "onEnter");

        am.put("onEnter", new AbstractAction() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // Enter pressed
            }
        });

    }

}

这将取决于所关注的组件。



 类似资料:
  • 问题内容: 因此,我遇到的问题似乎是仅在Linux上发生的错误。我正在尝试在按下某个键时记录我的swing应用程序,然后检测该键何时被释放。现在不应该有问题,因为KeyListener应该可以为我处理这个问题。 问题是,当我按下键时,会得到很多重复的keyPressed()/ keyReleased()事件,而不仅仅是单个keypressed()事件。有谁知道在Linux上何时真正发布密钥的解决方

  • 这是一个非常奇怪的问题,但我只是在JPanel中添加了一个简单的keyListener,它在keyPressed和KeyRelease上打印。通常它工作得很好,但在像'A'这样的某些键上,如果我在释放之前按住不放,在释放之后没有其他键会触发按下的键,直到我按住'D'这样的某些键。之后,它又回到了平常,除非我按下一个“坏”键,并保持太长时间。 最后一个注意,KeyRelease总是正确地触发,只是按

  • 我用JavaFX做了一个简单的乒乓球游戏。然而,我有一个问题与设置控制。我使用的文本字段如下所示: 但是箭头键和类似键在TextField中什么都不显示(尽管它们在游戏中起作用)。如何修复此问题/一致性问题?

  • 这个虫子严重毁了我的一周。我试图创建一个交互式排行榜,其中有三个数组:1是图像,2是我以字符串形式编写的整数。我正在尝试创建一个keyPressed事件,它将使数字随着代表团队的图像而改变,因为他们在梯子上或下梯子,我有一个mousePressed事件来执行一个循环,将窗口恢复到它的原始状态。 我的问题是,当我尝试运行代码时,keyPressed事件不会执行,只有在我单击鼠标后才执行。然后图像会移

  • 按下键时的示例输出不起作用:

  • } 在另一边我有一个听众 类TrafficListener{ public static void watchNewTraffic() {//在出现新流量时执行某些操作}} 我发现有Observer和Observable,但我需要实现Observer的方法,我发现Propertychangelistener在我的情况下是没用的,因为我有静态方法