Я пытаюсь манипулировать текстом в TextField, сгенерированном Scene Builder. Мой контроллер выглядит так:JavaFX Контроллер компоновщика сцен
@FXML
private TextField textDescr;
public void initialize(URL fxmlFileLocation, ResourceBundle resources) {
textDescr = new TextField();
assert textDescr != null : "fx:id=\"textDescr\" was not injected: check your FXML file 'provingGroundsUI.fxml'.";
Game.mainFSM.enter();
}
public void setText(String s) {
// TODO Auto-generated method stub
textDescr.setText(s);
}
Я получаю исключение NullPointerException. Я пробовал бот с и без части textDescr = new TextField();
. Я не совсем понимаю ... Я думал, что JavaFX инициализировал все переменные пользовательского интерфейса в начале программы.
'FX ли: id' из TextField в FXML совпадать с именем поля в контроллере? Другими словами, существует ли
Да, у него есть правильный fx: id – pieAre5quare
Убедитесь, что вы @Override метод initialize. – Wamasa