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()の最後の行で2行目(setCenter(editor))を使用すると、期待どおりに機能し、イベントなどを受信します。上の行(setCenter(tabs))を使用すると、明らかにイベントを受信しません。少なくともイベントハンドラーは呼び出されません。

私はおそらく非常に明白な何かを見落としていますが、私は間違いを見つけることができないようです。何か案は?ヒントをいただければ幸いです。

4

0 に答える 0