如何在 JavaFX 中创建 ChoiceDialog?
javafxobject oriented programmingprogramming更新于 2026/1/9 19:56:17
ChoiceDialog 是一个对话框,显示一个选项列表,您可以从中选择一个选项。您可以通过实例化 javafx.scene.control.ChoiceDialog 类 来创建选择对话框。
示例
以下示例演示了如何创建 ChoiceDialog。
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ChoiceDialog;
import javafx.scene.layout.HBox;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;
public class ChoiceDialogExample extends Application {
public void start(Stage stage) {
//创建选择框
ChoiceDialog<String> choiceDialog = new ChoiceDialog<String>("English");
//检索可观察列表
ObservableList<String> list = choiceDialog.getItems();
//将项目添加到列表
list.add("English");
list.add("Hindi");
list.add("Telugu");
list.add("Tamil");
//设置显示文本
Text txt = new Text("单击按钮显示选择对话框");
Font font = Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 12);
txt.setFont(font);
//创建按钮
Button button = new Button("Show Dialog");
//单击按钮时显示选择对话框
button.setOnAction(e -> {
choiceDialog.showAndWait();
});
//将选择框添加到组中
HBox layout = new HBox(25);
layout.getChildren().addAll(txt, button);
layout.setPadding(new Insets(15, 50, 50, 50));
layout.setStyle("-fx-background-color: BEIGE");
//设置舞台
Scene scene = new Scene(layout, 595, 300);
stage.setTitle("Choice Dialog");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
输出


