7

内部にメッセージをデフォルトとして持つ JTextField を作成したいと考えています。ただし、適切なテキストとしてではなく、JTextField 内に入力する内容についてのコメントとして。したがって、jtf.getText() と入力すると、null または空が返されます。これは、そこに出力された単なるコメントであるためです。クリックすると消えて、好きなように書くことができます。そのようなことを行う方法はありますか?

4

3 に答える 3

10

考えられる手法は、最初にデフォルトの文字列を textField のテキストとして設定することです。

JTextField myField = new JTextField("Default Text");

次に、 を使用してFocusListener、ユーザーが要素にフォーカスを置いたときにテキストが消えるようにします。

myField.addFocusListener(new FocusListener() {
    public void focusGained(FocusEvent e) {
        myField.setText("");
    }

    public void focusLost(FocusEvent e) {
        // nothing
    }
});

ただし、注意が必要です。ユーザーがテキスト フィールドにフォーカスを移さなかった場合、getText() はデフォルトの文字列を返します。したがって、テキスト フィールドにフォーカスがあったことがあるかどうかを示すブール値を管理することをお勧めします。

于 2013-02-16T23:42:30.380 に答える
5

あなたが望むものはinput hint、下の画像のようなテキストフィールドにあると思います:

入力ヒント

これを実行できるxswingxライブラリを確認してください。

于 2013-02-16T23:38:12.543 に答える
2

textFieldInstance.setToolTipは役立ちますか:

textFieldInstance.setToolTip("Tool tip for text field");
于 2013-02-16T23:25:45.657 に答える