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();
}