JavaFX禁用TabPane的箭头键,但禁用选项卡内的子项

时间:2018-11-11 11:23:01

标签: javafx listener

我在应用程序中有几个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();        
});       

0 个答案:

没有答案