Versão atual:

JavaFX - Como chamar Application por outra classe Java

Minha classe principal Progro chama uma classe que extende Application chamada Login

Progro.java

public class Progro {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Login l = new Login();
        l.start(new Stage());
        if (l.getController().getLibera()) {

        } else {
            System.exit(0);
        }
    }    
}

Login.java

public class Login extends Application {

    private LoginController controller;

    public LoginController getController(){
        return controller;
    }

    @Override
    public void start(Stage stage) {
        try {
            FXMLLoader loader = new FXMLLoader(getClass().getResource("Login.fxml"));
            this.controller = (LoginController) loader.getController();
            controller.setStageAtual(stage);
            Parent root = loader.load();
            Scene scene = new Scene(root);

            stage.setScene(scene);
            stage.setTitle("Login - Projeto Ogro");
            stage.setResizable(false);
            stage.showAndWait();
        } catch (Exception ex) {
            Alert alert = new Alert(Alert.AlertType.ERROR);
            alert.setContentText(ex.toString());
            alert.showAndWait();
        }
    }
}

Quando eu executo a minha aplicação eu recebo este erro:

Exception in thread "main" java.lang.ExceptionInInitializerError
    at javafx.stage.Window.<init>(Window.java:1191)
    at javafx.stage.Stage.<init>(Stage.java:239)
    at javafx.stage.Stage.<init>(Stage.java:227)
    at progro.main.Progro.main(Progro.java:22)
Caused by: java.lang.IllegalStateException: This operation is permitted on the event thread only; currentThread = main

Onde estou errando?

Versão(1):

Ver a versão formatada

JavaFX - Como chamar Application por outra classe Java

Comentário

new question