2017-07-21 10 views
0

イメージが示すように、私はScene Builderを使ってBorderPane TopのHBoxを作成しました。 HBoxには、MenuButtonとtabpaneの2種類のUIがあります。javafx(tabpane、menebutton)によっていくつかのUIを異なるデフォルトのレイアウトに統合する方法は?

Image 1

現在のスタイルは何です:私はtabpaneをクリックすると、tabpaneは、このエリアはHBoxのでは未使用で、メニューボタンの下の空白領域を残します。

Image 2

私の要求とは何か:私はtabpanをクリックすると、tabpaneはこの領域を使用することができます。私は良い例を見つけました:エクセル。 EXCELのメニューバーをご覧ください。 "File"は私のMenuButtonと似ています(また、いくつかの違いがあります、Excelの「ファイル」はそれをクリックするとペインを表示します)、と "開始"、 "挿入"は私のタブペインと似ています。 私が明確に説明していない場合は、私たちの展望であるEXCELを参照してください。おかげさまで

どうすればこの問題を解決できますか?

  1. tabpaneまたはmenubuttonのUIをカスタマイズする必要がありますか?
  2. 他のUIがこれを実現できるかどうかは、わかりません。 よろしくお願いいたします。

答えて

1

あなたFXMLControllerでこれを試してみてください:

// Tells the HBox to expand the tabPane whenever possible. 
HBox.setHgrow(tabPane, Priority.ALWAYS); 

// If invisible, menuButton will not take space on the screen 
menuButton.managedProperty().bind(menuButton.visibleProperty()); 

// A click on the tabPane will make menuButton invisible, freeing room for the tabPane to take over the rest of the HBox 
tabPane.setOnMouseClicked(event -> menuButton.setVisible(false)); 
関連する問題