ウィンドウの内容に合わせてウィンドウのサイズを変更したいと思います。 Swingにはpack()メソッドがあります。 JavaFXでも同様の方法がありますか?JavaFX相当のSwingのpack()
私がしようとしているのは、確認ダイアログを作成することです。ダイアログを作成するときは内容よりも幅が広いので、packメソッドのようなものが必要なのかどうか尋ねていました。ここで
は何が起こっているかのスクリーンショットです:そして、ここに私のコードです:
mainClass.getPrimaryStage().setOnCloseRequest(new EventHandler<WindowEvent>() { @Override public void handle(final WindowEvent e) { e.consume(); final Stage dialog = new Stage(); dialog.setTitle("Confirm Before Exit"); dialog.setResizable(false); dialog.initOwner(mainClass.getPrimaryStage()); dialog.initModality(Modality.APPLICATION_MODAL); FlowPane buttons = new FlowPane(10,10); buttons.setAlignment(Pos.CENTER); Button yes = new Button("Yes"); Button no = new Button("No"); buttons.getChildren().addAll(yes, no); VBox box = new VBox(); box.setAlignment(Pos.CENTER); box.setSpacing(10); box.getChildren().addAll(new Label("Do you really want to exit?"), buttons); yes.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent t) { Platform.exit(); } }); no.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent t) { dialog.close(); } }); Scene s = new Scene(box); dialog.setScene(s); dialog.show(); } });
私は、彼らはすぐにJavaFXの中のJOptionPaneのようなものを実装して願っています!これは私がやってはならないことです、それはとても基本的です...
は、あなたがより良いパック、多くの場合、構造が良く例えばPNG形式のでなければなりません。 –
@PeterRader上記のコードを見て、間違っているかどうか教えてください。 – ceklock
@ tecnotronまた、ここにボックスを使用したことにも注意してください。これはボックスのためです。 –