0
実際には、メニューベースのプログラム(メニューバー、メニュー、メニュー)を作成しています。すべてのメニュー項目から、そのような新しいウィンドウを呼び出します。現在のウィンドウを破棄し、メインウィンドウに新しいfxmlウィンドウをロードします
@FXML
private Pane rootP;
public static Pane root;
@Override
public void initialize(URL url, ResourceBundle rb) {
root = rootP;
}
@FXML
void loadWindow2Action(ActionEvent event) throws IOException {
root.getChildren().clear();
Pane newLoadedPane = (Pane) FXMLLoader.load(getClass().getResource("window2.fxml"));
root.getChildren().add(newLoadedPane);
}
ここでは、テーブルビューが1つのWindow2 fxml画面があります。その表の中には、すべての行にボタンを配置しています。
私の問題は、新しいfxmlページを読み込み、そのボタンをクリックしたときに現在のfxmlページを破棄する方法です。
スイングでは、単純に現在の内部フレームを廃棄し、新しい内部フレームを呼び出します。何かのようなもの 。
StdInternalFrame f = new StdInternalFrame(desktop);
this.dispose();
desktop.add(f);
これはこの
btnPay.setOnAction(e -> { try { MemberWindowController.root.getChildren().clear(); Pane newLoadedPane = (Pane)FXMLLoader.load(getClass().getResource("Window3.fxml")); MemberWindowController.root.getChildren().add(newLoadedPane); } catch (IOException ex) { Logger.getLogger(Window3Controller.class.getName()).log(Level.SEVERE, null, ex); } });
あなたのコードは私のアプリケーションを閉じる現在のウィンドウではありません。 – kar