有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

带有JavaFx的java中介

我正在尝试在我的中介器上使用设计模式。为了将我的gui分离,而不是将所有组件放在一个类中

例如,在使用其他GUI组件之前,您需要登录该程序。因此,创建一个中介类,该类创建每个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);

    }

}

我得到一个解释说:线程“main”java中的异常。lang.IllegalStateException:不在FX应用程序线程上;currentThread=main

如果我想使用调停者,我该如何回避这个问题

更新

public class Main {

    public static void main(String[] args) throws Exception{
        Mediator m = new Mediator();
        m.showUser();

    }

}

共 (0) 个答案