我正在尝试在我的调解器上使用设计模式。为了让我的 gui 分开,而不是将所有组件放在一个类中。
例如,您需要在使用其他 GUI 组件之前登录程序。因此,创建一个 Mediator 类,该类创建每个 GUI 元素的实例,每个 GUI 类(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);
}
}
我收到一个异常消息:线程“主”java.lang.IllegalStateException 中的异常:不在 FX 应用程序线程上;当前线程 = 主线程
如果我想使用调解器,我该如何解决?
更新
public class Main {
public static void main(String[] args) throws Exception{
Mediator m = new Mediator();
m.showUser();
}
}