私はjavafxmlのメインウィンドウを閉じる方法がわかりません

MatiiMann:

私は、JavaのFXMLでメインウィンドウを閉じる方法がわかりません。コードのこの部分は、クラスのメインです。

public void start(Stage primaryStage) throws Exception{
    Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
    Parent root2 = FXMLLoader.load(getClass().getResource("2ndwin.fxml"));
    Scene scene  = new Scene(root);
    primaryStage.setTitle("Hello World");
    primaryStage.setScene(scene);
    primaryStage.show();

    Scene scene2 = new Scene(root2);
    secondaryStage.setScene(scene2);
}

public void show(){
    secondaryStage.show();
}

私はこれを持っています。コントローラでは、私はこれをしませんでした:Main m = new Main(); m.show();

しかし、私はprimaryStageを閉じることができるか、まだ分かりません。

私を助けたり、私が新しいウィンドウと密接な古い窓をレコード生成する方法を教えてください。私は私が何をしたいのか、これは正しくないと思うが、私はそれを自分自身を思い付きました。

JSGoodbody:

私はあなたが窓を取得するために閉じたいのステージでオブジェクトを使用して、それを行います

    Window currentStage = OBJECTINSCENE.getScene().getWindow();

(あなたのシーンで何かのidを持つ「OBJECTINSCENE」を交換してください)。これは、あなたが開いている段階への参照を提供します。その後、コール

currentStage.hide();

あなたがしたいとき、ステージを閉じます。

以下のようになりますあなたのショーの機能はそれほど

public void show(){
    Window currentStage = OBJECTINSCENE.getScene().getWindow();
    secondaryStage.show();
    currentStage.hide();
}

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=345127&siteId=1