0
私の行動のテキストを私の2番目のPane
で変更する必要があります。そのために私は使用しようとしました:JavaFXの既存のペインからコントローラにアクセスする方法は?
try{
HouseDA.setDefault(house);
FXMLLoader loader = new FXMLLoader(); //Loads an object hierarchy from an XML document.
loader.setLocation(MainApp.class.getResource("view/MainSideMenu.fxml")); // which document
loader.load();
MainSideMenuController controller = loader.<MainSideMenuController>getController();
controller.refreshHouseInfo();
}catch(Exception e){}
コードは正常に動作しますが、テキストは変更されません。デバッグ後、Pane
の別のインスタンスが作成され、そこでテキストが変更されたようです。 のコントローラのペインにアクセスしてテキストを変更するにはどうしたらいいですか?
[この質問](https://stackoverflow.com/questions/47156903/accessing-fx -control-then-call-method-updates-the-label-text-issue)、(loader.load()を介して)いくつかのUI要素を作成するFXMLを読み込みます。そうすることは決してどこにも表示されません。その結果、UIを変更するコントローラ上のメソッドを呼び出すと、何も表示されません(表示されないもののテキストを変更しています)。 –
* "既存のペインのコントローラーにはどのようにアクセスできますか?" * FXMLファイルからペインをロード(および表示)すると、コントローラーを取得します。次に、コントローラにアクセスする必要がある人にコントローラを渡します。おそらくhttps://stackoverflow.com/questions/29639881/javafx-how-to-use-a-method-in-a-controller-from-another-controllerが役立ちます。 –