的控制器2我的JavaFX 2.0應用程序,它由兩個FXML文件,和2個控制器,用於他們+一個「主」 java文件。如何FXML控制器1創建的對象傳遞給內FXML控制
的開始時間,FXML1被初始化,這樣的:
public void start(Stage stage) throws Exception {
stage.setTitle("Demo Jabber JavaFX Chat");
Parent root = FXMLLoader.load(getClass().getResource("fxml_example.fxml"),
ResourceBundle.getBundle("fxmlexample.fxml_example"));
Scene scene = new Scene(root, 226, 264);
stage.setScene(scene);
scene.getStylesheets().add("fxmlexample/fxmlstylesheet.css");
stage.show();
}
然後,點擊從SCENE1按鈕時,在控制器1類的事件處理程序,我改變SCENE1根,展現新的GUI - 查看用戶。在這個控制器中,我初始化了一些對象。例如像這樣:
public class FXMLExampleController {
//some fields...
private MySuperObject c;
@FXML protected void handleSubmitButtonAction(ActionEvent event) {
//some fields...
c = new MySuperObject(); //here i initialize my object, i'm interested in
try {
c.login(username, password); // some actions with this object, which i need to make.
Scene cc = buttonStatusText.getScene();
Parent root = null;
try {
//changing a scene content...
root = FXMLLoader.load(getClass().getResource("fxml_example2.fxml"),
ResourceBundle.getBundle("fxmlexample.fxml_example"));
} catch (IOException ex) {
Logger.getLogger(FXMLExampleController.class.getName()).log(Level.SEVERE, null, ex);
}
cc.setRoot(root);
}
而且,在那之後,我必須做一些工作,對下一場景的對象,而且它必須是不一樣的類的新實例,但對象,我已經在第一個場景中初始化了。
我知道如何讓這些全部採用「非標準的Java」,但我是那種對使用JavaFX + FXML這個任務的困惑。
什麼root.cb. **分鐘** .getItems()。add(「new item」);和** cc ** .setRoot(root);在最後的代碼片? – 2012-05-23 11:37:03
對不起,'分鐘'來自錯誤的複製粘貼。和來自維多利亞州原始代碼樣本的'cc'。更新。 – 2012-05-23 12:35:08