private void redirect(@NotNull final InputEvent event) {
final EventTarget target = event.getTarget();
if (target == destination) {
return;
} else if (target instanceof TextInputControl) {
if (event instanceof KeyEvent && UIUtils.isNotHotKey((KeyEvent) event)) {
if (Config.DEV_DEBUG_JFX_KEY_INPUT) {
LOGGER.debug(this, target, ev -> "Key event was skipped because it was from " + ev);
}
return;
}
}
final EventType<? extends InputEvent> eventType = event.getEventType();
final FileEditor currentEditor = editorAreaComponent.getCurrentEditor();
if (Config.DEV_DEBUG_JFX_KEY_INPUT) {
LOGGER.debug(this, event, notNull(currentEditor), (red, ev, editor) -> "Key event " + ev.getEventType() +
" is inside " + editor.isInside(red.getSceneX(), red.getSceneY(), ev.getClass()));
}
if (currentEditor == null || eventType != KeyEvent.KEY_RELEASED && !currentEditor.isInside(getSceneX(), getSceneY(), event.getClass())) {
return;
}
if (Config.DEV_DEBUG_JFX_KEY_INPUT) {
LOGGER.debug(this, event, ev -> "Redirect event " + ev);
}
Event.fireEvent(destination, event.copyFor(event.getSource(), destination));
}
EventRedirector.java 文件源码
java
阅读 26
收藏 0
点赞 0
评论 0
项目:jmonkeybuilder
作者:
评论列表
文章目录