пытаясь сделать logi GUI первым из моего приложения - PullRequest
0 голосов
/ 15 июня 2019

Проблема в том, что я не могу найти способ на самом деле поместить графический интерфейс перед запуском моего приложения, FXMLseveral любые способы, которые я могу вставить в форму регистрации, которую я сделал с метками и методом, который требовал информацию для входа в систему, прежде чем мое приложение появится?

Я попытался двумя способами, во-первых, позвонив:

Parent root = FXMLLoader.load(getClass().getResource(

Второй я создал:

AnchorPane pane = FXMLLoader.load(getClass().getResources())

третий:

Parent root= (Parent)load.load();

1 Ответ

0 голосов
/ 15 июня 2019

Предполагая, что ваш Login.fxml находится внутри пакета с именем com.example.login, вы можете сделать его первым fxml, открытым приложением Javafx, выполнив следующие действия:

public class Main extends Application {
    public static void main(String[] args) throws Exception 
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception{
      /*we make it the first fxml to be loaded. 
        Please note that you have to get the correct relative path to it or else 
        you will get 'location is required' error*/

        Parent root = FXMLLoader.load(this.getClass().getResource("/com/example/login/Login.fxml"));
        Scene scene = new Scene(root);
        Stage visibleStage = new Stage();
        visibleStage.initOwner(primaryStage);
        visibleStage.setTitle("My title");
        visibleStage.initStyle(StageStyle.DECORATED);
        visibleStage.setScene(scene);
        visibleStage.setOnHidden((e) -> {
            Platform.runLater(primaryStage::hide);
        });
        visibleStage.setOnCloseRequest(e -> System.exit(0));
        visibleStage.sizeToScene();
        visibleStage.show();
    }
}

Я бы также посоветовал вам добавить код к вашему вопросу, если вы действительно хотите очень полезный ответ, например, код вашего класса Application, такой как тот, который я предоставил.

...