ChoiceDialog是JavaFX框架的一部分。 ChoiceDialog是一个对话框,为用户提供一组选项,用户可以从中选择最多一个选项。 Choice类是Dialog基类的派生类。
该类的构造函数是:
- ChoiceDialog():创建一个没有项目的空选择对话框。
- ChoiceDialog(T d, Collection choices):创建一个选择对话框,其中包含一组从提供的集合中选择的项目和一个选择的项目
- ChoiceDialog(T d, T… choices):创建一个选择对话框,其中包含默认的选定项目和用户可用选项的数组。
常用方法:
方法 | 说明 |
---|---|
getItems() | 返回选择框的所有可用项目 |
getSelectedItem() | 返回对话框的选定项 |
setSelectedItem(T item) | 设置对话框的选定项目 |
setContentText(String s) | 设置对话框的内容文本 |
setHeaderText(String s) | 设置对话框的标题文本 |
下面的程序说明ChoiceDialog类:
- 程序创建一个选择对话框并显示它:此程序将创建一个选择对话框d和一个字符串天数组,其中包含星期几的名称。该程序将创建一个名称为b的按钮。该按钮将在场景内创建,而场景又将托管在舞台内。我们将创建一个标签来显示是否按下按钮。函数setTitle()用于为舞台提供标题。然后创建一个平铺窗格,在其上调用addChildren()方法以将按钮和标签附加到场景内。最后,调用show()方法以显示最终结果。我们将创建一个事件处理程序来处理按钮事件。事件处理程序将使用setOnAction()函数添加到按钮。单击按钮后,将显示选择对话框,其中包含选定的项目。允许用户从提供的选择中选择一个项目。
// Java Program to create a choice dialog and display it import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.*; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.control.*; import javafx.stage.Stage; import javafx.scene.control.Alert.AlertType; public class choice_1 extends Application { // launch the application public void start(Stage s) { // set title for the stage s.setTitle("creating choice dialog"); // create a button Button b = new Button("click"); // create a tile pane TilePane r = new TilePane(); // items for the dialog String days[] = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" }; // create a choice dialog ChoiceDialog d = new ChoiceDialog(days[1], days); // action event EventHandler<ActionEvent> event = new EventHandler<ActionEvent>() { public void handle(ActionEvent e) { // show the dialog d.show(); } }; // when button is pressed b.setOnAction(event); // add button r.getChildren().add(b); // create a scene Scene sc = new Scene(r, 200, 200); // set the scene s.setScene(sc); s.show(); } public static void main(String args[]) { // launch the application launch(args); } }
输出:
- 程序创建一个选择对话框,添加标题和内容文本,并添加标签以显示所选的选项:此程序将创建一个选择对话框d和一个字符串天数组,其中包含星期几的名称。该程序将创建一个名称为b的按钮。该按钮将在场景内创建,而场景又将托管在舞台内。我们将创建一个标签来显示是否按下按钮。函数setTitle()用于为舞台提供标题。然后创建一个平铺窗格,在其上调用addChildren()方法以将按钮和标签附加到场景内。最后,调用show()方法以显示最终结果。我们将创建一个事件处理程序来处理按钮事件。事件处理程序将使用setOnAction()函数添加到按钮。单击按钮后,将显示选择对话框,其中包含选定的项目。允许用户从提供的选择中选择一个项目。我们还创建了一个标签l以显示当前选中的项目。我们还将使用setHeaderText()和setContentText()函数设置标题文本和内容文本。我们将使用getSelectedItem()函数获得所选项目。
// Java Program to create a choice dialog and add header // and content text and also add a label to // display the selected choice import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.*; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.control.*; import javafx.stage.Stage; import javafx.scene.control.Alert.AlertType; public class choice_2 extends Application { // launch the application public void start(Stage s) { // set title for the stage s.setTitle("creating choice dialog"); // create a button Button b = new Button("click"); // items for the dialog String days[] = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" }; // create a label Label l = new Label(days[1] + " selected"); // create a tile pane TilePane r = new TilePane(); // create a choice dialog ChoiceDialog d = new ChoiceDialog(days[1], days); // action event EventHandler<ActionEvent> event = new EventHandler<ActionEvent>() { public void handle(ActionEvent e) { // setheader text d.setHeaderText("day of the week"); // set content text d.setContentText("please select the day of the week"); // show the dialog d.showAndWait(); // get the selected item l.setText(d.getSelectedItem() + " selected"); } }; // when button is pressed b.setOnAction(event); // add button r.getChildren().add(b); r.getChildren().add(l); // create a scene Scene sc = new Scene(r, 200, 200); // set the scene s.setScene(sc); s.show(); } public static void main(String args[]) { // launch the application launch(args); } }
输出:
注意:以上程序可能无法在在线编辑器中运行,请使用离线编译器。
参考:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/ChoiceDialog.html
相关用法
- JavaFX 类 ChoiceBox用法及代码示例
- JavaFX 类 CustomMenuItem用法及代码示例
- JavaFX 类 TextInputDialog用法及代码示例
- JavaFX 类 Tab用法及代码示例
- JavaFX 类 MenuButton用法及代码示例
- JavaFX 类 ProgressIndicator用法及代码示例
- JavaFX 类 ProgressBar用法及代码示例
- JavaFX 类 PasswordField用法及代码示例
- JavaFX 类 TextField用法及代码示例
- JavaFX 类 Pos用法及代码示例
- JavaFX 类 Arc用法及代码示例
- JavaFX 类 Box用法及代码示例
注:本文由纯净天空筛选整理自andrew1234大神的英文原创作品 JavaFX | ChoiceDialog。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。