2017-09-20 1 views
0

JTextfieldが空のときに透かしを入れる方法を教えてください。私はyoutubeとOracleのJavaチュートリアル、および他のウェブサイト全体を検索してきました。JTextfieldテキスト透かし(実際のテキストではない)を作成する方法

私はC#/ asp.netを使ってオンラインで行う方法を見つけましたが、明らかにそれは私がやろうとしていることではありません。

私がしようとしているのは、実際のテキストではなく、それぞれのJTextField、JPasswordFieldに「username」と「password」と表示されていると感じます。私は彼らが空であるかどうかを知るためにイベントリスナーが必要であることを知っています。私はこれらのメッセージを表示する方法はわかりませんが、キーボード入力があるときはいつでも、グレーアウトされた文字と消えている "検索..."と言うスタックオーバーフローの上にあるようになります。文字列が再び空であれば再び表示されます。

ご連絡ありがとうございます。 、

public class HelloPrompt extends JFrame { 
    public static void main(String[] args){ 
     new HelloPrompt(); 
    } 

    public HelloPrompt(){ 
     super("Login Page"); 
     JFrame frame = new JFrame("Login"); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     JPanel p = new JPanel(); 
     JButton b = new JButton("Submit"); 
     JLabel user = new JLabel("username: "); 
     JTextField userEnt = new JTextField("username", 20); 
     JLabel pass = new JLabel("password: "); 
     JTextField passEnt = new JPasswordField("password", 20); 

     p.add(user); 
     p.add(userEnt); 
     p.add(pass); 
     p.add(passEnt); 

     add(p); 
     setSize(299,299); 
     setVisible(true); 


    } 
} 
+0

試してみてください[*テキストプロンプトの*](GRAYと コールに前景色をリセット/ a/20578858/230513)を 'Icon'で置き換えます。 – trashgod

+0

私はリンクを介して "テキストプロンプト"を追加していますが、私はインポートできるテキストプロンプトですか?もしそうなら、輸入声明は何ですか?それ以外の場合は、テキストプロンプトのコンストラクタを作成する必要があります。 –

+0

@MarioPichardoは、私がインポートできるテキストプロンプトですか? - これはクラスパス上のディレクトリにあるクラスだけです。たとえば、HelloPromptクラスと同じディレクトリに置くことができます。 – camickr

答えて

0

は、私が何をしようとするのかわからないが、ユーザーがテキストフィールドをクリックしたとき、あなたはGRAY のような軽いものに

userEnt.setText("Enter username: ") passEnt.setText("Enter password: ")

変更のフォアグラウンドカラーを使用することができますテキストフィールドのテキストを消去し、その前景を黒にリセットします。

は、Lost Focusのリスナーを実装しています。テキストフィールドがフォーカスを失ったし、テキストフィールドのテキストが何に等しい場合、https://stackoverflow.comこの再

userEnt.setText("Enter username: ") passEnt.setText("Enter password: ")

関連する問題