TextInputDialog是JavaFX庫的一部分。 TextInputDialog是一個對話框,允許用戶輸入文本,並且該對話框包含標題文本,TextField和確認按鈕。
TextInputDialog類的構造方法是:
- TextInputDialog():創建一個沒有初始文本的文本輸入對話框。
- TextInputDialog(String txt):創建一個帶有初始文本txt的文本輸入對話框。
常用方法:
方法 | 說明 |
---|---|
getDefaultValue() | 返回文本輸入對話框的默認值 |
getEditor() | 返回文本輸入對話框的編輯器 |
setHeaderText(String s) | 設置文本輸入對話框標題的標題文本 |
以下示例程序旨在說明TextInputDialog類:
- 程序創建一個TextInputDialog並將其添加到舞台:該程序創建一個帶有初始文本和標題文本的TextInputDialog。標題文本是使用setHeaderText()函數設置的。按鈕由名稱d指示,文本輸入對話框的名稱為td。該按鈕將在場景內創建,而場景又將托管在舞台內。函數setTitle()用於為舞台提供標題。然後,創建一個平鋪窗格,在其上調用addChildren()方法以將按鈕附加到場景內。最後,調用show()方法以顯示最終結果。單擊按鈕將顯示TextInputDialog。
// Java Program to create a text input // dialog and add it to the stage 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; import java.time.LocalDate; public class TextInputDialog_1 extends Application { // launch the application public void start(Stage s) { // set title for the stage s.setTitle("creating textInput dialog"); // create a tile pane TilePane r = new TilePane(); // create a text input dialog TextInputDialog td = new TextInputDialog("enter any text"); // setHeaderText td.setHeaderText("enter your name"); // create a button Button d = new Button("click"); // create a event handler EventHandler<ActionEvent> event = new EventHandler<ActionEvent>() { public void handle(ActionEvent e) { // show the text input dialog td.show(); } }; // set on action of event d.setOnAction(event); // add button and label r.getChildren().add(d); // create a scene Scene sc = new Scene(r, 500, 300); // set the scene s.setScene(sc); s.show(); } public static void main(String args[]) { // launch the application launch(args); } }
輸出:
- 程序創建一個TextInputDialog並添加一個標簽以顯示輸入的文本:該程序創建一個TextInputDialog(td)。名稱為d的按鈕和TextInputDialog的名稱將為td。該按鈕將在場景內創建,而場景又將托管在舞台內。函數setTitle()用於為舞台提供標題。然後,創建一個平鋪窗格,在其上調用addChildren()方法以將按鈕附加到場景內。最後,調用show()方法以顯示最終結果。單擊該按鈕時,將顯示文本輸入對話框。將創建一個名為l的標簽,該標簽將添加到場景中,該場景將顯示用戶在對話框中輸入的文本。
// Java Program to create a text input dialog // and add a label to display the text entered 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; import java.time.LocalDate; public class TextInputDialog_2 extends Application { // launch the application public void start(Stage s) { // set title for the stage s.setTitle("creating textInput dialog"); // create a tile pane TilePane r = new TilePane(); // create a label to show the input in text dialog Label l = new Label("no text input"); // create a text input dialog TextInputDialog td = new TextInputDialog(); // create a button Button d = new Button("click"); // create a event handler EventHandler<ActionEvent> event = new EventHandler<ActionEvent>() { public void handle(ActionEvent e) { // show the text input dialog td.showAndWait(); // set the text of the label l.setText(td.getEditor().getText()); } }; // set on action of event d.setOnAction(event); // add button and label r.getChildren().add(d); r.getChildren().add(l); // create a scene Scene sc = new Scene(r, 500, 300); // set the scene s.setScene(sc); s.show(); } public static void main(String args[]) { // launch the application launch(args); } }
輸出:
注意:以上程序可能無法在在線IDE中運行,請使用離線IDE。
參考:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/TextInputDialog.html
相關用法
- JavaFX 類 ChoiceBox用法及代碼示例
- JavaFX 類 CustomMenuItem用法及代碼示例
- JavaFX 類 Tab用法及代碼示例
- JavaFX 類 ChoiceDialog用法及代碼示例
- JavaFX 類 MenuButton用法及代碼示例
- JavaFX 類 Box用法及代碼示例
- JavaFX 類 ProgressIndicator用法及代碼示例
- JavaFX 類 ProgressBar用法及代碼示例
- JavaFX 類 PasswordField用法及代碼示例
- JavaFX 類 TextField用法及代碼示例
- JavaFX 類 Pos用法及代碼示例
- JavaFX 類 Arc用法及代碼示例
注:本文由純淨天空篩選整理自andrew1234大神的英文原創作品 JavaFX | TextInputDialog。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。