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