アプリの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))を使用すると、明らかにイベントを受信しません。少なくともイベントハンドラーは呼び出されません。
私はおそらく非常に明白な何かを見落としていますが、私は間違いを見つけることができないようです。何か案は?ヒントをいただければ幸いです。