尝试在我的应用中将自定义控件添加到BorderPane时,我遇到了JavaFX的问题。只要我将控件(Editor)设置为内容(使用setCenter),它就可以正常工作并接收输入事件(键盘和鼠标)。但是,当我尝试将其包装到TabPane和Tab控件中时,控件不再接收任何事件,似乎无法集中注意力。我知道控件仍然在场景中,因为你仍然可以看到它。你无法与之互动。
以下代码就是我现在正在使用的代码:
class EditorScene extends BorderPane {
def setup() {
// Default editor
val tab = new javafx.scene.control.Tab("New File")
val editor = new Editor(this)
tab.setContent(editor)
val tabs = new TabPane()
tabs.getTabs().add(tab)
setCenter(tabs)
//setCenter(editor)
}
setup()
}
在我使用第二行(setCenter(编辑器))的最后一行setup()中,它按预期工作,接收事件等。当我使用上面的行(setCenter(tabs))时,它没有收到任何事件显然;至少不调用事件处理程序。
我可能忽视了一些非常明显的事情,但我似乎无法找到错误。有任何想法吗?我会感激任何提示。