Dhi*_*mal 4 java javafx javafx-2
我已经使用以下功能Stage在按下转义键时关闭了。它工作正常,但当我的桌子有键盘焦点时它不起作用。
scene.setOnKeyPressed(new EventHandler<KeyEvent>()
{
@Override
public void handle(KeyEvent evt)
{
if(evt.getCode().equals(KeyCode.ESCAPE))
{
dialogStage.close();
}
}
});
Run Code Online (Sandbox Code Playgroud)
似乎该KeyEvent事件正在被子节点消耗TableView。所以正确的方法是附加EventFilter而不是EventHandler:
scene.addEventFilter(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent evt) {
if (evt.getCode().equals(KeyCode.ESCAPE)) {
stage.close();
}
}
});
Run Code Online (Sandbox Code Playgroud)
要查看事件处理程序和过滤器之间的区别,请参阅处理 JavaFX 事件。
| 归档时间: |
|
| 查看次数: |
2410 次 |
| 最近记录: |