📜  JavaFX |弹出类(1)

📅  最后修改于: 2023-12-03 14:42:22.508000             🧑  作者: Mango

JavaFX弹出类

JavaFX提供了弹出框(即对话框)的类,可以用于提示用户信息、获取用户输入等操作。这些类都位于javafx.scene.control包中。

Alert

Alert是JavaFX中的一个弹出框类。可以通过四种类型的Alert来展示不同程度的信息:

  • AlertType.CONFIRMATION - 询问用户是否确认某项操作
  • AlertType.ERROR - 用于展示错误信息
  • AlertType.INFORMATION - 用于展示信息
  • AlertType.WARNING - 用于展示警告信息
Alert alert = new Alert(AlertType.CONFIRMATION);
alert.setTitle("Confirmation Dialog");
alert.setHeaderText("Are you sure?");
alert.setContentText("Do you really want to delete this file?");

Optional<ButtonType> result = alert.showAndWait();
if (result.get() == ButtonType.OK){
    // 用户点了OK按钮
} else {
    // 用户点了取消按钮
}
TextInputDialog

如果需要从用户那里获取输入,可以使用JavaFX的TextInputDialog类。

TextInputDialog dialog = new TextInputDialog("default");

dialog.setTitle("Text Input Dialog");
dialog.setHeaderText("Please enter some text:");
dialog.setContentText("Text:");

Optional<String> result = dialog.showAndWait();
if (result.isPresent()){
    String text = result.get();
    // 处理输入的文本
}
ChoiceDialog

如果需要从用户那里选择一个选项,可以使用JavaFX的ChoiceDialog类。

List<String> choices = new ArrayList<>();
choices.add("Choice 1");
choices.add("Choice 2");
choices.add("Choice 3");

ChoiceDialog<String> dialog = new ChoiceDialog<>("Choice 1", choices);
dialog.setTitle("Choice Dialog");
dialog.setHeaderText("Please choose an option:");
dialog.setContentText("Choose:");

Optional<String> result = dialog.showAndWait();
if (result.isPresent()){
    String choice = result.get();
    // 处理选择的选项
}
DatePickerDialog

如果需要从用户方面获取日期,可以使用JavaFX的DatePicker类。

DatePicker datePicker = new DatePicker();

Dialog<ButtonType> dialog = new Dialog<>();
dialog.getDialogPane().getButtonTypes().addAll(ButtonType.OK, ButtonType.CANCEL);
dialog.getDialogPane().setContent(datePicker);
dialog.showAndWait();

if (dialog.getResult() == ButtonType.OK) {
    LocalDate selectedDate = datePicker.getValue();
    // 处理选择的日期
}

以上就是JavaFX弹出类的介绍,以下为markdown代码片段:

# JavaFX弹出类

JavaFX提供了弹出框(即对话框)的类,可以用于提示用户信息、获取用户输入等操作。这些类都位于`javafx.scene.control`包中。

## Alert

Alert是JavaFX中的一个弹出框类。可以通过四种类型的Alert来展示不同程度的信息:
* `AlertType.CONFIRMATION` - 询问用户是否确认某项操作
* `AlertType.ERROR` - 用于展示错误信息
* `AlertType.INFORMATION` - 用于展示信息
* `AlertType.WARNING` - 用于展示警告信息

Alert alert = new Alert(AlertType.CONFIRMATION); alert.setTitle("Confirmation Dialog"); alert.setHeaderText("Are you sure?"); alert.setContentText("Do you really want to delete this file?");

Optional result = alert.showAndWait(); if (result.get() == ButtonType.OK){ // 用户点了OK按钮 } else { // 用户点了取消按钮 }


## TextInputDialog

如果需要从用户那里获取输入,可以使用JavaFX的`TextInputDialog`类。

TextInputDialog dialog = new TextInputDialog("default");

dialog.setTitle("Text Input Dialog"); dialog.setHeaderText("Please enter some text:"); dialog.setContentText("Text:");

Optional result = dialog.showAndWait(); if (result.isPresent()){ String text = result.get(); // 处理输入的文本 }


## ChoiceDialog

如果需要从用户那里选择一个选项,可以使用JavaFX的`ChoiceDialog`类。

List choices = new ArrayList<>(); choices.add("Choice 1"); choices.add("Choice 2"); choices.add("Choice 3");

ChoiceDialog dialog = new ChoiceDialog<>("Choice 1", choices); dialog.setTitle("Choice Dialog"); dialog.setHeaderText("Please choose an option:"); dialog.setContentText("Choose:");

Optional result = dialog.showAndWait(); if (result.isPresent()){ String choice = result.get(); // 处理选择的选项 }


## DatePickerDialog

如果需要从用户方面获取日期,可以使用JavaFX的`DatePicker`类。

DatePicker datePicker = new DatePicker();

Dialog dialog = new Dialog<>(); dialog.getDialogPane().getButtonTypes().addAll(ButtonType.OK, ButtonType.CANCEL); dialog.getDialogPane().setContent(datePicker); dialog.showAndWait();

if (dialog.getResult() == ButtonType.OK) { LocalDate selectedDate = datePicker.getValue(); // 处理选择的日期 }