【发布时间】:2013-01-09 09:40:08
【问题描述】:
我在 ScrollPane 中有一个 VBox,其中包含一个 HTMLEditor 和其他东西。
每次点击空格键时,当我在 HTMLEditor 中键入文本时,我会按预期在编辑器中看到一个空格,但 Scrollpane 也会向下滚动。首先,我通过将 EventFilter 添加到 Scrollpane 并使用 KEY_PRESSED 事件来解决此问题。但现在我需要 HTMLEditor 中的这个事件。
所以我的问题是:是否有任何标志告诉滚动窗格不要在 KeyCode.SPACE 上滚动,或者有没有办法绕过滚动窗格将输入焦点/键事件仅路由到 HTMLEditor?还是仅在滚动窗格上过滤此事件的方法?
您也可以使用 javafx Scene Builder 重现此内容:
Scrollpane->VBox(比 Scrollpane 大,所以出现滚动条)->2*HTMLEditor,在窗口中预览,按空格键。
已解决: 向 HTMLEditor 添加了一个 EventFilter,它使用 KEY_PRESSED 上的 KeyCode.SPACE。
htmlEditor.addEventFilter( KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent event) {
if (event.getEventType() == KeyEvent.KEY_PRESSED){
// Consume Event before Bubbling Phase, -> otherwise Scrollpane scrolls
if ( event.getCode() == KeyCode.SPACE ){
event.consume();
}
}
}
});
【问题讨论】:
标签: scroll javafx html-editor