SetText To textfiled или lable Из другого окна javafx - PullRequest
0 голосов
/ 03 ноября 2018

Допустим, у вас есть метка в MainWindow ..

и вы хотите изменить значение этого ярлыка из окна2

Не в том же окне !!

я хочу изменения, пока главное окно открыто

1 Ответ

0 голосов
/ 04 ноября 2018

Это просто, если вы используете 2 .fxml файла с собственными контроллерами в этом случае создайте новый файл класса, а именно 'AllControllers'

у вас есть два 2 контроллера, а именно ControllerWindow1 и ControllerWindow2

public class AllControllers {


     private static ControllerWindow1 control1;
     private static ControllerWindow2 control2;


    public static ControllerWindow1 getControl1() {
        return control1;
    }
    public static void setControl1(ControllerWindow1 control1) {
        Controlls.control1 = control1;
    }
    public static ControllerWindow2 getControl2() {
        return control2;
    }
    public static void setControl2(ControllerWindow2 control2) {
        Controlls.control2 = control2;
    }



}

Вы должны инициализировать каждый контроллер следующим образом

public class ControllerWindow1 implements Initializable{

    @FXML 
    public Label mylabel;

    @Override
    public void initialize(URL location, ResourceBundle resources) {

        AllControllers.setControl1(this);
    }

}

Теперь вы можете получить доступ к вашему контроллеру из любого класса. Просто используйте

AllControllers.getControl1().mylabel.setText("hello");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...