當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。