2017-01-22 13 views
-1

javafxレイアウトを整理するときにいくつか問題があります。私はBorderPaneを使用します。上部および左の領域は静的ビュー(ページ)用です。私は上にMenuBarを置き、写真のように左にいくつかのボタンを置いた。そして、ボタンをクリックすると、コンテンツが中央で開かれます。すべてのボタンは異なる内容とレイアウトを持っています。 「マネーボックス」ボタンにはコンテンツのTabPaneがあり、SceneBuilderを使用して作成しました。 「Cafe」ボタンにはコンテンツのテーブルがあり、SceneBuilderを使用して作成しました。どのような戦略か、ここで私の問題を解決するためには何が必要ですか。JavaFXでマスタページ(スクリーン)を作成

[スペース] http://i.imgur.com/fG6a0kg.png[/img]

答えて

0

私はあなたが探しているまさに100%を確認していない、とあなたの説明に基づいて必要なものを達成するために多くの方法があります。私は、選択したレイアウトごとに異なるFXMLを使用してそれらをロードし、それらをシーンから削除する同様の動作をしています。

private void openMiddleNode(String view) {} 
    try { 
     FXMLLoader loader = new FXMLLoader(); 
     Parent node = loader.load(getClass().getClassLoader().getResource(view).openStream()); 
     //If your middle section has it's own controller (likely an instance variable, if it needs to respond to events from the parent controller) 
     MyController controller = loader.getController(); 
     controller.anyCustomSetup(); 

     //Assumes that this middlePane is defined in the FXML and initialized above 
     middlePane.getChildren().setAll(node); 
    } catch (IOException ie){ 
     if(logger.isErrorEnabled()){ 
      logger.error("An exception has been thrown: " + ie); 
     } 
    } 
} 
+0

ご回答ください。私の問題は、borderpaneの中央にfxmlファイルデザインを表示するために、borderpaneの左側のボタンにアクションを与える方法です。私はルートペインにborderpaneを使用しています。 – rizal

+0

次に、borderPaneがペインの名前であると仮定して、middlePane.getChildren()。setAll()の代わりにborderPane.setCenter(node)を使用します。クリックハンドラからこのメソッドを呼び出します。 –

関連する問題