0

私のプログラムの一部として、ユーザーが jTextField に入力したものを印刷したいだけです

これが私がしていることですが、まったく機能しません。

JTextField myInput = new JTextField();
String word = myInput.getText();

myInput.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) 
{
System.out.print(word);
}

});

何か案が?

4

5 に答える 5

2

actionlistener では、テキスト フィールドから値を取得する必要があります。

 System.out.print(myInput.getText());

ユーザーが何かを入力する時間がなかったため、 getText() を呼び出した時点でテキストフィールドに何もないため、現時点では空の値を取得しています。

于 2013-03-28T13:09:19.663 に答える
1
final JTextField myInput = new JTextField();

myInput.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e) {
        System.out.print(myInput.getText());
    }
});

myInput.getText()の外部で呼び出すactionListenerと、空が に割り当てstringられwordます。

于 2013-03-28T13:10:09.400 に答える
1

のテキスト ( word) を更新していないactionPerformedため、同じままです。試す:

myInput.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) 
{
System.out.print(myInput.getText());
}

したがって、宣言する必要さえありませんword

于 2013-03-28T13:09:43.377 に答える
1

アクション実行メソッド内の 2 行目を取る

于 2013-03-28T13:11:17.490 に答える
0

皆様、ご回答ありがとうございます。実際、あなたは大丈夫です。変数をfinalとして宣言するだけです。なぜそれを追加する必要があるのか​​ はまだわかりませんが、現在は機能しています。「最終」が後で問題にならないことを願っています。

于 2013-03-28T13:29:31.467 に答える