JavaFX:如何在borderpane中管理焦点遍历

JavaFX:如何在borderpane中管理焦点遍历,java,javafx,focus,keyboard-navigation,Java,Javafx,Focus,Keyboard Navigation,我想知道是否可以使用TAB或Shift+TAB在Borderpane元素的不同部分导航?您可以尝试以下方法: borderPane.getTop().addEventFilter(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() { @Override public void handle(javafx.scene.input.KeyEvent event) { if (event.getCode()

我想知道是否可以使用TAB或Shift+TAB在Borderpane元素的不同部分导航?

您可以尝试以下方法:

borderPane.getTop().addEventFilter(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {
    @Override
    public void handle(javafx.scene.input.KeyEvent event) {
        if (event.getCode() == KeyCode.TAB) {
            borderPane.getLeft().requestFocus();
        }
    }
});
borderPane.getTop().addEventFilter(按下KeyEvent.KEY,新建EventHandler()){
@凌驾
公共无效句柄(javafx.scene.input.KeyEvent事件){
if(event.getCode()==KeyCode.TAB){
borderPane.getLeft().requestFocus();
}
}
});

您所说的BorderPane的
部分是什么意思?对不起,我想说的是BorderPane的子项(顶部、左侧、中间、右侧和底部)。您可以在同一
布局中的
控件之间切换。如果您在
边框窗格
的中心有一个
网格窗格
,它有4个文本字段和一个按钮,您可以使用选项卡在它们之间切换
焦点
谢谢!分析后,BorderPane将正确管理选项卡和SHIFT+选项卡。但是,当上一个控件是选项卡窗格时,我遇到了一个问题。无法将焦点移动到选项卡窗格外的上一个可聚焦控件。我必须实施一种变通方法,将焦点移回上一个控件。使用8u20版本已正确处理在选项卡窗格中移动焦点。