JavaFXでテキストフィールドに初期メッセージを表示する方法について記載します。
HTMLのplaceholderのイメージです。
テキストフィールドに初期メッセージを表示する方法
初期メッセージを表示するには、setPromptTextメソッドを使用します。
setPromptTextメソッドで指定したテキストは次の特徴があります。
・getText メソッドで取得できない。
・テキストフィールドにフォーカスがあたる、もしくは文字が入力されると非表示になる。
・テキストフィールドにフォーカスがあたる、もしくは文字が入力されると非表示になる。
構文
void setPromptText(String 表示したいテキスト)
実行例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
import javafx.application.Application; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.TextField; import javafx.scene.layout.VBox; import javafx.stage.Stage; public class Main extends Application { public static void main(String[] args){ Application.launch(args); } @Override public void start(Stage pStage) throws Exception { // TextField TextField textName = new TextField(); textName.setMaxWidth(200); // 横幅を指定 textName.setPromptText("名前を入力してください"); // TextField TextField textAddress = new TextField(); textAddress.setMaxWidth(200); // 横幅を指定 textAddress.setPromptText("住所を入力してください"); // 配置 VBox vbRoot = new VBox(); vbRoot.setAlignment(Pos.CENTER); vbRoot.setSpacing(10); vbRoot.getChildren().addAll(textName,textAddress); pStage.setTitle("テキストフィールド"); pStage.setWidth(350); pStage.setHeight(200); pStage.setScene(new Scene(vbRoot)); pStage.show(); } } |