Tôi muốn đổi kích thước cửa sổ để vừa với nội dung của cửa sổ. Trong Swing có phương thức pack(). Có một phương pháp tương tự để làm điều này trong JavaFX?JavaFX tương đương với gói Swing()
Điều tôi đang cố làm là tạo hộp thoại xác nhận. Khi tôi tạo hộp thoại, nó rộng hơn nội dung, vì vậy tôi tự hỏi mình có cần thứ gì đó giống như phương pháp gói hay không.
Đây là một ảnh chụp màn hình về những gì đang xảy ra:
Và đây là mã của tôi:
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(); } });
Tôi hy vọng họ thực hiện một cái gì đó giống như JOptionPane trong JavaFX sớm! Đây là điều mà tôi không nên làm, nó rất cơ bản ...
Bạn tốt hơn gói nó thủ công, là có thể, thường công trình xây dựng nên được tốt hơn của png ví dụ. –
@PeterRader vui lòng xem mã của tôi ở trên và cho tôi biết nếu có điều gì đó sai. – ceklock
@tecnotron và cũng lưu ý rằng bạn đã sử dụng hộp ở đây. Điều này là do hộp. –