Как я могу использовать .setText для нестатической метки из другого класса

Hy,

Я хочу установить в JavaFX текст метки со второго контроллера.

У меня есть этап с именем GUI.fxml и Controller_GUI.java, и у меня есть этап с именем Login.fxml и Controller_Login.java.

На экране графического интерфейса я открываю экран входа в систему и ввожу данные, нажимая кнопку входа. затем Controller_Login выполняет вход. После этого в GUI.xml я хочу изменить текст метки на «Подключено», но он управляется из Controller_GUI.java, и метка должна называться нестатической, иначе она не установит метку, и я получу "Нулевое" сообщение об ошибке.

Есть ли способ обойти это или хорошее хитрое решение для установки текста метки?

GUI.xml

<Label fx:id="labelConnected" contentDisplay="CENTER" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="20.0" text="Disconnected" />

Controller_Login.java

    public void buttonLoginGuiLogin(ActionEvent event) throws IOException {
    if (GUI.Login_Interface.Login(textfieldLoginGuiEMail.getText(),textfieldLoginGuiPassword.getText())) {
        // set the label text
        ((Node)(event.getSource())).getScene().getWindow().hide();
    }
    else {
        labelLoginMessage.setText("Wrong E-Mail or Password.");
    }
}

Controller_GUI.java

@FXML public Label labelConnected;

person thegameraut    schedule 03.07.2016    source источник
comment
см. это правильный ответ .   -  person Kachna    schedule 03.07.2016
comment
спасибо, Фабиан, это исправлено.   -  person thegameraut    schedule 03.07.2016