JavaFX:如何管理边框中的焦点遍历
Posted
技术标签:
【中文标题】JavaFX:如何管理边框中的焦点遍历【英文标题】:JavaFX: How to manage the focus traversal in a borderpane 【发布时间】:2014-10-04 23:02:10 【问题描述】:我想知道是否可以使用 TAB 或 Shift+TAB 在 Borderpane 元素的不同部分中导航?
【问题讨论】:
parts of BorderPane
是什么意思?
抱歉,我想说的是 BorderPane 的子项(上、左、中、右和下)。
好吧,您可以在同一Layout
中的Controls
之间切换。如果您在Borderpane
的中心有一个gridpane
,它有4 个文本字段和一个按钮,您可以使用TAB 在它们之间切换Focus
【参考方案1】:
您可以尝试以下方法:
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 正确管理了 TAB 和 SHIFT+TAB。但是,当以前的控件是 TabPane 时,我遇到了问题。无法将焦点移到 TabPane 之外的上一个可聚焦控件。我必须实施一种解决方法,将焦点移回上一个控件。 在 TabPane 内移动焦点已使用 8u20 版本正确处理。以上是关于JavaFX:如何管理边框中的焦点遍历的主要内容,如果未能解决你的问题,请参考以下文章
如何使用CSS来设置两个相邻TableView的边框样式,使它们看起来像是JavaFX 11中的单个TableView(OpenJFX 11)
JavaFX中的可复制Label / TextField / LabeledText