尝试使日志gui第一个从我的应用程序运行

时间:2019-06-15 10:12:03

标签: javafx javafx-8 javafx-2 fxmlloader

问题是,我似乎找不到一种在我的应用程序启动前实际放置Logging gui的方法,FXML我可以用我用标签和方法制成的日志表单中的几种方法,这些方法都需要在我的应用程序弹出之前输入登录信息?

我尝试了两种方法,首先通过调用:

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

第二个我创建了一个:

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

第三名:

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

1 个答案:

答案 0 :(得分:0)

假设Login.fxml放在名为com.example.login的包中,则可以通过执行以下操作使其成为Javafx应用程序打开的第一个fxml:

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类代码(如我提供的代码),我也建议您在问题中添加一些代码。