я пытаюсь использовать шаблон проектирования на моем посреднике. Чтобы мой графический интерфейс был разделен, а не имел все компоненты в одном классе.
И например, вам нужно было войти в программу, прежде чем использовать другие компоненты графического интерфейса. Поэтому создание класса Mediator, который создает экземпляр каждого элемента графического интерфейса, на который может ссылаться каждый из классов графического интерфейса (Login, addUser, ShowUser) при изменении окна.
public class Mediator {
public Login login;
public AddUser add;
public ShowUsers su;
public Stage stage = new Stage();
public Mediator(){
login = new Login(this);
add = new AddUser(this);
su = new ShowUsers(this);
}
public void showUser() throws Exception{
su.start(stage);
}
}
public class ShowUsers extends Application{
private Mediator m;
private Stage stage = new Stage();
public ShowUsers(Mediator m){
this.m =m;
}
@Override
public void start(Stage stage) throws Exception {
Group root = new Group();
Scene scene = new Scene(root);
stage.setScene(scene);
}
}
Я получаю сообщение об исключении: Исключение в потоке "main" java.lang.IllegalStateException: не в потоке приложения FX; currentThread = main
Как мне обойти это, если я хочу использовать посредника?
Обновить
public class Main {
public static void main(String[] args) throws Exception{
Mediator m = new Mediator();
m.showUser();
}
}