2

在我的应用程序中尝试将自定义控件添加到 BorderPane 时,我遇到了 JavaFX 问题。只要我只是将我的控件(编辑器)设置为内容(使用 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()
}

在 setup() 的最后几行中,当我使用第二行 (setCenter(editor)) 时,它按预期工作,接收事件等。当我使用上面的行 (setCenter(tabs)) 时,它显然没有收到任何事件;至少不调用事件处理程序。

我可能忽略了一些非常明显的东西,但我似乎找不到错误。有任何想法吗?我会很感激任何提示。

4

0 回答 0