2012-04-05 31 views
0

「を入力して」私はそれがこのようなものだと思った(しかし、それは何もしません判明!):はJButtonのをクリックすると、JLabelのにJTextFieldのからのsetTextする方法

public void actionPerformed(ActionEvent e) { 

    String labelID = e.getActionCommand(); 
    JTextField EnterName = new JTextField(); 
    JLabel NameINLabel = new JLabel(); 
    String random = new String(); 
    random = EnterName.getText(); 

    if (labelID == "Enter Name"){ 
     NameINLabel.setText(random); 
    } 
} 

マイボタンが完璧に動作します何も問題ありません。しかし、 "Enter Name"ボタンをクリックすると、jlabelに何も起こりません。 HELP PLZ

+1

JTextFieldとJLabelがイベントハンドラ内で宣言されているのはなぜですか?ボタンをクリックしたときにそれらを表示させようとしていますか?私の真の疑念は:それは機能するのですか? – vaisakh

+2

コードにはいくつかの問題があります。1.内容ペインにJTextFieldとJLabelを追加しないでください.JTextFieldとJLabelは決して表示されません。 2.空文字列をテキストとしてEnterNameを作成するので、EnterName.getText()は常に空文字列を返します。 3. ==を使用して文字列の内容を比較しないでください。 –

+0

1)すぐに役立つように、[SSCCE](http://sscce.org/)を投稿してください。 2)一般的な[Java命名規則(Java命名規則)](http://java.sun.com/docs/books/books/books/jls/second_edition/html/names.doc.html#73307)(具体的には名前に使用されるケース)をクラス、メソッドと属性の名前&一貫して使用します。 –

答えて

0

私はvaisakhに同意します。コンポーネントをイベントハンドラの外で宣言する必要があります。また、コンテンツペインに追加する必要があります。 文字列の内容を比較するには、.equals("")またはcompareTo("")のメソッドを使用する必要があります。

+0

ハンドラの外側でコンポーネントを宣言しました。私はそれらをコンテンツペインに追加しました。私はその部分を見せなかっただけです。 – user1315999

関連する問題