JavaFX的对话框主要分为提示对话框和文件对话框两类,其中提示对话框又分作消息对话框、警告对话框、错误对话框、确认对话框四种。这四种对话框都使用Alert控件表达,并通过对话框类型加以区分,例如AlertType.INFORMATION表示消息对话框,AlertType.WARNIN表示警告对话框,AlertType.ERROR表示错误对话框,AlertType.CONFIRMATION表示确认对话框。另外,Alert工具还提供了下列方法来操作对话框:
setTitle:设置对话框的标题。
setHeaderText:设置对话框的头部文本。
setContentText:设置对话框的内容文本。
show:显示对话框。
showAndWait:显示对话框,并等待按钮返回。该方法的返回类型是Optional,它用来描述确认对话框选择的是确定按钮还是取消按钮。
接下来分别列举几种提示对话框的实现例子,首先是消息对话框,它的调用代码示例如下:
Button btn1 = new Button("消息对话框"); // 创建一个按钮
btn1.setOnAction(new EventHandler<ActionEvent>() { // 设置按钮的单击事件
@Override
public void handle(ActionEvent arg0) { // 处理单击事件
Alert alert = new Alert(Alert.AlertType.INFORMATION); // 创建一个消息对话框
alert.setHeaderText("今日天气"); // 设置对话框的头部文本
// 设置对话框的内容文本
alert.setContentText("今天白天晴转多云,北转南风2、3间4级,最高气温28℃;夜间多云转阴,南风2级左右,最低气温16℃。");
alert.show(); // 显示对话框
}
});
flowPane.getChildren().add(btn1); // 往流式窗格上添加按钮
运行包含以上代码的测试程序,单击按钮后弹出的对话框如下图所示,可见消息对话框的提示图标是个内嵌感叹号的圆圈。
其次是警告对话框,它的调用代码示例如下:
Button btn2 = new Button("警告对话框"); // 创建一个按钮
btn2.setOnAction(new EventHandler<ActionEvent>() { // 设置按钮的单击事件
@Override
public void handle(ActionEvent arg0) { // 处理单击事件
Alert alert