JavaFX 布局 DialogPane

DialogPane

Stage stage = new Stage();

DialogPane dialogPane = new DialogPane();
dialogPane.setHeaderText("HeaderText");
dialogPane.setContentText("ContentText");

ImageView imageView = new ImageView("image\\portrait.jpg");
imageView.setFitWidth(50);
imageView.setPreserveRatio(true);
dialogPane.setGraphic(imageView);

Text text1 = new Text("ExpandableContentExpandableContent");
Text text2 = new Text("ExpandableContentExpandableContent");
text1.setFill(Paint.valueOf("#ccc"));
text1.setFont(Font.font(20));
VBox vBox = new VBox(text1, text2);
dialogPane.setExpandableContent(vBox);
dialogPane.setExpanded(true);

dialogPane.getButtonTypes().addAll(ButtonType.OK, ButtonType.APPLY, ButtonType.CANCEL);
Button btnOk = (Button) dialogPane.lookupButton(ButtonType.OK);
Button btnApply = (Button) dialogPane.lookupButton(ButtonType.APPLY);
Button btnCancel = (Button) dialogPane.lookupButton(ButtonType.CANCEL);
btnOk.setOnAction(new EventHandler<ActionEvent>() {
    @Override
    public void handle(ActionEvent event) {
        System.out.println("OK");
        stage.close();
    }
});

stage.initOwner(primaryStage);
stage.initModality(Modality.WINDOW_MODAL);
stage.setResizable(false);
stage.setScene(new Scene(dialogPane));
stage.show();
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaFX提供了多种布局管理器来帮助您设计和排列用户界面元素。下面列举了几种常用的布局管理器: 1. StackPane:将元素堆叠在一起,可以通过设置偏移量来控制它们的位置。 2. BorderPane:将元素放置在上、下、左、右和中间的区域。 3. GridPane:创建一个网格布局,可以在行和列中放置元素。 4. HBox和VBox:水平或垂直地排列元素。 5. FlowPane:按照水平或垂直方向自动换行排列元素。 6. TilePane:在一个瓷砖状的网格中排列元素。 使用布局管理器的一般步骤是: 1. 创建一个父容器,如StackPane、BorderPane等。 2. 创建需要添加到父容器中的子节点,并设置它们的样式和属性。 3. 使用布局管理器的方法将子节点添加到父容器中。 以下是一个示例代码,演示了如何使用JavaFX布局管理器来创建一个简单的界面: ```java import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class Main extends Application { @Override public void start(Stage primaryStage) { // 创建一个StackPane作为父容器 StackPane root = new StackPane(); // 创建一个按钮 Button button = new Button("Click me!"); // 将按钮添加到父容器中 root.getChildren().add(button); // 创建一个场景,并将父容器设置为根节点 Scene scene = new Scene(root, 300, 200); // 设置舞台的场景 primaryStage.setScene(scene); primaryStage.setTitle("JavaFX布局示例"); primaryStage.show(); } public static void main(String[] args) { launch(args); } } ``` 在这个示例中,我们使用了StackPane作为父容器,并在其中添加了一个按钮。您可以根据需要选择适合您界面布局布局管理器,并在其中添加更多的UI元素。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值