【问题标题】:How do I run a function on a specific key press in JavaFX?如何在 JavaFX 中的特定按键上运行函数?
【发布时间】:2015-10-19 21:23:30
【问题描述】:

我在 javafx 中有一个正在运行的程序,我想在按下键盘上的特定键(例如,“a”键)时调用该程序中的一个函数。我尝试在我的场景中使用事件处理程序,但 KEY_PRESSED 似乎在按下任何键时都会关闭,除非我使用错误。 KEY_TYPED 似乎它可能适合我的需要,但我只找到了与文本框相关的示例,这不是我想要的。有谁知道如何做到这一点,或者有一个很好的资源我可以咨询这样的事情

【问题讨论】:

    标签: java javafx keyboard event-handling


    【解决方案1】:

    只需检查按下的键的代码:

    scene.setOnKeyPressed(e -> {
        if (e.getCode() == KeyCode.A) {
            System.out.println("A key was pressed");
        }
    });
    

    【讨论】:

      【解决方案2】:

      使用事件过滤器和任何你需要的keyevent,这里我使用ANY

              scene.addEventFilter(KeyEvent.ANY, keyEvent -> {
                  System.out.println(keyEvent);
              });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-10
        • 2019-12-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多