JavaFX 的 DialogPane
是一个用于创建对话框的控件,它是 Dialog
类内容部分的根节点。DialogPane
提供了一个灵活的方式来自定义对话框的内容和行为。
以下是 DialogPane
的一些基本用法:
-
构造函数:
DialogPane
可以通过多种构造函数创建,可以指定标题、头部、内容和扩展按钮。 -
标题和头部:使用
setTitle
和setHeaderText
方法来设置对话框的标题和头部文本。 -
内容设置:使用
setContent
方法来设置对话框的主要内容。 -
按钮:使用
getButtonTypes
和buttonTypesProperty
来添加或设置对话框的按钮类型。 -
结果:使用
Dialog
类的showAndWait
方法来显示对话框,并等待用户操作。用户操作的结果可以通过Dialog
类的getResult
方法获取。 -
事件处理:可以为按钮添加事件处理程序来响应用户的点击事件。
下面是一个 DialogPane
的使用案例,演示了如何使用 DialogPane
来创建一个简单的确认对话框:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.DialogPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class DialogPaneDemo extends Application {
@Override
public void start(Stage primaryStage) {
// 创建 DialogPane 实例
DialogPane dialogPane = new DialogPane();
// 设置标题和头部文本
dialogPane.setHeaderText("Confirm Action");
dialogPane.setContentText("Are you sure you want to proceed?");
// 创建确认和取消按钮
ButtonType confirmButtonType = new ButtonType("Confirm", ButtonBar.ButtonData.OK_DONE);
ButtonType cancelButtonType = new ButtonType("Cancel", ButtonBar.ButtonData.CANCEL_CLOSE);
dialogPane.getButtonTypes().addAll(confirmButtonType, cancelButtonType);
// 设置对话框的按钮
dialogPane.lookupButton(confirmButtonType).addEventFilter(ActionEvent.ACTION, event -> {
System.out.println("Confirmed");
});
dialogPane.lookupButton(cancelButtonType).addEventFilter(ActionEvent.ACTION, event -> {
System.out.println("Cancelled");
});
// 创建一个垂直布局的面板作为对话框的内容
VBox vbox = new VBox(10); // 间距为10
dialogPane.setContent(vbox);
// 创建一个 Dialog 实例并设置 DialogPane
Scene scene = new Scene(dialogPane, 300, 200);
Dialog<ButtonType> dialog = new Dialog<>();
dialog.getDialogPane().setContent(dialogPane);
dialog.initOwner(primaryStage);
dialog.initModality(Modality.APPLICATION_MODAL);
// 显示对话框
dialog.showAndWait().ifPresent(result -> {
if (result == confirmButtonType) {
System.out.println("User clicked confirm.");
} else {
System.out.println("User clicked cancel.");
}
});
}
public static void main(String[] args) {
launch(args);
}
}
在这个例子中,我们创建了一个 DialogPane
并设置了标题和头部文本。然后,我们添加了两个按钮类型(确认和取消)到对话框,并为这些按钮设置了事件处理程序。我们还创建了一个 VBox
作为对话框的内容,并将其设置到 DialogPane
中。
接着,我们创建了一个 Dialog
实例,并将 DialogPane
设置为对话框的内容。我们设置了对话框的所有者和模态性,然后调用 showAndWait
方法来显示对话框,并等待用户操作。
运行这个程序,你会看到一个确认对话框,用户可以选择确认或取消操作。根据用户的选择,控制台将打印相应的消息。
标签:设置,对话框,DialogPane,布局,dialogPane,Dialog,按钮 From: https://www.cnblogs.com/zllw946/p/18262521