Java 在TableView处于焦点时侦听激发的Back key事件

Java 在TableView处于焦点时侦听激发的Back key事件,java,javafx,Java,Javafx,我的JavaFX应用程序中有一个TableView,当TableView处于焦点时,我想听听用户的按键。如何做到这一点?您只需要使用.setOnKeyPressed、.setOnKeyReleased或setOnKeyTyped方法之一获取TableView对象并将EventHandler附加到 像这样 tableViewObject.setOnKeyPressed(new EventHandler<KeyEvent>() { @Override public voi

我的JavaFX应用程序中有一个
TableView
,当
TableView
处于焦点时,我想听听用户的按键。如何做到这一点?

您只需要使用.setOnKeyPressed、.setOnKeyReleased或setOnKeyTyped方法之一获取TableView对象并将EventHandler附加到

像这样

tableViewObject.setOnKeyPressed(new EventHandler<KeyEvent>() {
    @Override
    public void handle(KeyEvent t) {
        //Put your awesome application specific logic here
    }
});
tableViewObject.setOnKeyPressed(新的EventHandler(){
@凌驾
公共无效句柄(KeyEvent t){
//将您的应用程序特定逻辑放在这里
}
});
根据关键事件文档,目标是具有焦点的元素,因此您的关键事件侦听器只有在tableView或其子节点之一在按键时具有焦点时才会启动

目标选择 当动作发生时,系统根据内部规则确定哪个节点是目标:
对于关键事件,目标是具有焦点的节点。

您是使用JavaFX 1还是2?对于新项目,我强烈建议使用JavaFX 8。@Sandahung他们/刚刚/更改了命名约定,以使JavaFX版本与常规Java版本相匹配。我认为现在说javafx8是正确的。当JavaFX1和JavaFX2放弃对JavaFX脚本语言的支持时,我通常只是对它们进行了严格的区分。所以,当你说JavaFX2时,我觉得这是一个合理的答案:)如果你使用的是Java[FX]8,你可以在代码中省去很多冗长的内容@Jazzepi的答案变成了两行(包括评论)。也许更重要的是,JavaFX中的许多相当大的错误在该版本中都得到了修复