I want to open a new window (Stage) in javafx from an external Thread (not from the principal Thread). my code bellow is not working, please help me.
This is my java code :
public void login(ActionEvent event)
{       
    Task task = new javafx.concurrent.Task<Void>()
    {
            @Override
            protected Void call() throws Exception 
            {
                loader.setVisible(true);
                if(Compte.login(username.getText(), password.getText()))
                {
                    Parent root = FXMLLoader.load(getClass().getResource("/views/PrincipalFram.fxml"));
                    Scene scene = new Scene(root);
                    Stage stage = new Stage();
                    stage.setScene(scene);
                    stage.setTitle("My Title");
                    stage.show();
                }
                else
                {
                    //TODO 
                }
                return null;
            }
            @Override
            protected void succeeded() 
            {
                loader.setVisible(false);
            }
            @Override
            protected void failed() 
            {
                loader.setVisible(false);
            }
    };
    Thread thread = new Thread(task);
    thread.setDaemon(true);
    thread.start();
}
 
    