Я обновился с javafx 8 b109 до b116, и мой класс контроллера FXML имеет введенные переменные как null, когда он инициализирует. Я попробовал это с примером приложения netbeans fxml.Статические переменные @FXML в контроллере FXML
@FXML
private static Label label;
@Override
public void initialize(URL url, ResourceBundle rb) {
label.setText("static test");
}
Проблема со статическим ключевым словом, удалить это, и оно работает. Он отлично работал в b109 со статическими переменными. Когда я писал свое приложение, я понял, что статический смысл. Они создаются, когда приложение загружается, и есть только одна копия сцены.
Есть ли способ обойти это без переписывания тысяч строк кода, использующих статический доступ?
Возможный дубликат [проблемы совместимости с javafx 8] (http://stackoverflow.com/questions/23105433/javafx-8-compatibility-issues) – jewelsea