2017-05-09 12 views
0

私はJavaFXを初めて使い、Javaで初心者です。シーンビルダを使用して、メインビューのFXMLコントローラにテーブルビューを作成しました。私は二次ウィンドウに私のテーブルビューを表示したい。 私はこのポップアップウィンドウの作成方法はすでに知っていますが、私の二次FXMLコントローラにTableViewを "送信"する方法を理解できません。私はここに何か根本的なものを見逃しているかもしれないが、私は何が得られないか知っている。 あなたの助けに感謝します。JavaFX Tableview、シーンビルダ:私のTableViewをセカンダリウィンドウに配置

答えて

1

1つの方法は、テーブルのデザインを独自のxmlに抽出してから、両方のビューにfxmlインクルードを使用することです。 つまり、メインウィンドウとポップアップの両方のコントローラには、テーブルを扱うための同様のコードが必要です。

FXMLはこのようなものになります。より多くのthis answer on nesting controllersthis tutorial

+0

感謝をチェックアウトするために

<VBox fx:controller="com.foo.MainController"> <fx:include fx:id="table" source="table.fxml"/> ... </VBox> 

それは多くのことができますが、実際に私はテーブルビューが私のメインで表示されないようにしますメインコントローラで作成したオブジェクトをセカンダリコントローラから操作する必要がありますが、それを「渡す」方法がありますか? –

+1

@FloFstコントローラにデータを渡す場合はhttp: /stackoverflow.com/questions/14187963/passing-parameters-javafx-fxml/14190310#14190310 –