我在应用程序中有几个JFXTabPanes,并且有多个选项卡...
它们在StackPanes
内部,每个节点具有多个节点。我想要的是禁用JFXTabPanes
的箭头键事件,只允许它们用于选项卡中的子级。
我要这样做是因为有时当用户按下stackpanes子项中的箭头键时,会在JFXTabPane上选择另一个选项卡,这很烦人。
到目前为止我在做什么。
tabPane.addEventFilter(KeyEvent.ANY, event -> {
if (event.getCode().isArrowKey()) {
System.out.println("Is arrow key");
event.consume();
}
});
孩子们拥有自己的关键事件监听器,因为我在tabPane上添加了事件过滤器后它们不再起作用了:(
// -- KeyListeners
someChildrenInsideTabPane.setOnKeyReleased(key -> {
System.out.println("Key RELEASED");
if (key.getCode() == KeyCode.RIGHT)
nextSpectrumAnalyzer();
else if (key.getCode() == KeyCode.LEFT)
previousSpectrumAnalyzer();
});