JavaFX Dialog多个choices
时间: 2024-06-11 13:09:12 浏览: 125
JavaFX Dialog类提供了多个choices的选项,可以使用以下代码实现:
```java
// 创建一个Dialog对象
Dialog<String> dialog = new Dialog<>();
dialog.setTitle("Select Option");
// 设置Dialog的头部文本和图标
dialog.setHeaderText("Choose an option");
// 设置Dialog的内容
dialog.setContentText("Select your option:");
// 创建一个ObservableList对象,用于存储多个选项
ObservableList<String> options = FXCollections.observableArrayList(
"Option A",
"Option B",
"Option C"
);
// 创建一个ChoiceBox对象,用于显示多个选项
ChoiceBox<String> choiceBox = new ChoiceBox<>(options);
// 将ChoiceBox添加到Dialog的内容区域
dialog.getDialogPane().setContent(choiceBox);
// 创建两个ButtonType对象,用于表示“OK”和“Cancel”按钮
ButtonType okButton = new ButtonType("OK", ButtonBar.ButtonData.OK_DONE);
ButtonType cancelButton = new ButtonType("Cancel", ButtonBar.ButtonData.CANCEL_CLOSE);
// 将ButtonType对象添加到Dialog的按钮区域
dialog.getDialogPane().getButtonTypes().addAll(okButton, cancelButton);
// 设置Dialog的结果转换器,将选择的选项转换为字符串
dialog.setResultConverter(dialogButton -> {
if (dialogButton == okButton) {
return choiceBox.getValue();
}
return null;
});
// 显示Dialog,并等待用户选择
Optional<String> result = dialog.showAndWait();
// 处理用户的选择
result.ifPresent(option -> {
System.out.println("Selected option: " + option);
});
```
在上面的代码中,我们创建了一个Dialog对象,并使用ChoiceBox将多个选项添加到Dialog的内容区域。我们还创建了两个ButtonType对象,用于表示“OK”和“Cancel”按钮,并将它们添加到Dialog的按钮区域。最后,我们设置Dialog的结果转换器,将选择的选项转换为字符串,并处理用户的选择。
注意:在JavaFX 8及更高版本中,也可以使用ComboBox来显示多个选项。
阅读全文
相关推荐
![js](https://img-home.csdnimg.cn/images/20250102104920.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)