4

TextFieldユーザーがテキストを入力するまで、統合されたヒント テキスト、ユーザー プロンプト、プレースホルダーを追加したいと考えています。プロンプト テキストは、TextField がフォーカスされると消え、TextField がフォーカスを失い、テキストが入力されないと再表示されます。

私は当初、これは Vaadin TextFields の一般的な機能であると考えていましたが、そうではないようです。現在、TextField の独自の拡張機能を実装してこの機能を追加する方法を探しています。しかし、私は立ち往生しています。

私の質問は、ここにいる誰かが以前にこれを行ったことがあるか、または本能的にどのように行うべきかを知っているかどうかです?

これは私がどこまで来たかです:

package com.smarttrust.m2m.gui.admin;

import com.vaadin.event.FieldEvents.FocusEvent;
import com.vaadin.event.FieldEvents.FocusListener;
import com.vaadin.terminal.gwt.client.ui.VCalendarPanel.FocusChangeListener;
import com.vaadin.ui.TextField;

public class M2MHintTextField extends TextField implements FocusListener    {

    private final String hint;

    FocusListener listener = new FocusListener() {

        @Override
        public void focus(FocusEvent event) {
            // TODO Auto-generated method stub

        }
    };

    public M2MHintTextField(final String hint)    {
        super(hint);
        this.hint = hint;
        super.addListener(this.listener);
    }

    @Override
    public void focus(FocusEvent event) {
        // TODO Auto-generated method stub

    }
}
4

1 に答える 1

14

組み込み機能

調査の結果、これはすべての入力コントロール (TextField、TextArea、DateField、ComboBox) に統合された機能であることがわかりました。

Vaadin フロー (Vaadin 10)

この機能は、 Placeholderと呼ばれるプロパティです。

オプションで、オプションの初期値とともに、プレースホルダー テキストを のコンストラクターに渡すことができます。TextField

new TextField( "label goes here" , "hint goes here" ) 

または、setter と getter:TextField::setPlaceholderおよびを呼び出しますTextField.getPlaceholder

myTextField.setPlaceholder( "Hint goes here" ) ;

ヴァーディン 8

この機能は、 Placeholderと呼ばれるプロパティです。

getter/setter メソッドを呼び出します:TextField::getPlaceholderおよびTextField.setPlaceholder.

myTextField.setPlaceholder( "Hint goes here" ) ;

ヴァーディン 7

この機能は、 InputPromptというプロパティです。

getter/setter メソッドを呼び出します:TextField::setInputPromptおよびTextField::getInputPrompt.

myTextField.setInputPrompt("Hint goes here"); 
于 2011-08-11T07:54:13.237 に答える