我是Javafx
,我有一個menuBar
和多個場景,我可以使用MenuBar
在它們之間切換,所有工作都很好,直到我嘗試單擊菜單項時嘗試做某件事除了展示現場。無法更新javafx中的另一個控制器的場景
我試圖使用方法我試圖展會現場的reload();
顯示在文本字段nom
一些寫作,我從我的homeController
類調用Enfantcontroller
在那裏我的菜單項的操作方法和我當我點擊菜單項時調用reload()
將文本寫入enfantView
方法的文本字段,但是在爲該場景加載控制器後沒有任何事情發生。這裏是我的代碼:
EnfantController類
public class EnfantController implements Initializable {
@FXML
private TextField nom;
/**
* Initializes the controller class.
*/
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
public void reload() {
this.nom.setText("vndghj");
}
}
HomeController類
public class CrechHomeController implements Initializable {
/**
* Initializes the controller class.
*/
@FXML
private BorderPane borderPane;
private AnchorPane enfant;
@Override
public void initialize(URL url, ResourceBundle rb) {
try {
// TODO
enfant = FXMLLoader.load(getClass().getResource(("/Views/Enfant.fxml")));
} catch (IOException ex) {
Logger.getLogger(CrechHomeController.class.getName()).log(Level.SEVERE, null, ex);
}
}
@FXML
public void enfantItemAction() throws IOException {
// getting the controller class and execute the reload method
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("/Views/Enfant.fxml"));
loader.load();
EnfantController enfantController = loader.getController();
enfantController.reload();
borderPane.setCenter(enfant);
}
}
我知道我會在這裏忽視的東西,但我無法弄清楚它是什麼,幫助將不勝感激。