当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaFX 类 ChoiceDialog用法及代码示例


ChoiceDialog是JavaFX框架的一部分。 ChoiceDialog是一个对话框,为用户提供一组选项,用户可以从中选择最多一个选项。 Choice类是Dialog基类的派生类。

该类的构造函数是

  1. ChoiceDialog():创建一个没有项目的空选择对话框。
  2. ChoiceDialog(T d, Collection choices):创建一个选择对话框,其中包含一组从提供的集合中选择的项目和一个选择的项目
  3. ChoiceDialog(T d, T… choices):创建一个选择对话框,其中包含默认的选定项目和用户可用选项的数组。

常用方法


方法 说明
getItems() 返回选择框的所有可用项目
getSelectedItem() 返回对话框的选定项
setSelectedItem(T item) 设置对话框的选定项目
setContentText(String s) 设置对话框的内容文本
setHeaderText(String s) 设置对话框的标题文本

下面的程序说明ChoiceDialog类:

  1. 程序创建一个选择对话框并显示它:此程序将创建一个选择对话框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); 
        } 
    }

    输出:

  2. 程序创建一个选择对话框,添加标题和内容文本,并添加标签以显示所选的选项:此程序将创建一个选择对话框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); 
        } 
    }

    输出:

  3. 注意:以上程序可能无法在在线编辑器中运行,请使用离线编译器。

    参考:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/ChoiceDialog.html



相关用法


注:本文由纯净天空筛选整理自andrew1234大神的英文原创作品 JavaFX | ChoiceDialog。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。