我用什麼似乎是一個典型的JavaFX從FXML文件加載時start()方法:如何使用JavaFX中的首選項加載FXML?
public void start(Stage stage) throws Exception {
this.stage = stage;
Scene scene = new Scene(FXMLLoader.<AnchorPane>load(getClass().getResource("layout.fxml")));
stage.setScene(scene);
stage.show();
}
我有一些變量對應的控制,如:
@FXML private TextField userName;
我想從首初始化用戶名的值,如:
prefs = Preferences.userRoot().node(this.getClass().getName());
userName.setText(prefs.get("userName", userName.getText()));
但是我什麼時候能打電話嗎?如果我的stage.show()之前做到這一點,的userName尚未實例化。
TIA
過得好控制器?你是否在控制器類中創建了Preferences對象? –
我在FXML中設置控制器,是的,我在那裏創建首選項。請參閱下面的問題答案,並感謝您的關注。 – Michael