プロが教えるわが家の防犯対策術!

javaのJTextFieldと、ActionListenerについての質問です。
「JTextFieldで表示した文字が、エンターを押すと消える」というものが作りたいのですがなかなかうまくいきません。
setTextメソッドを用いて文字(例えば"こんにちは")を表示させればいいと言われたのですが、これも全くうまくできず…仕様書も参照しましたが、手も足も出ない状態です。

ちなみに、私は大学でeclipseを使ってjava言語を学んでいる初心者です。
どなたか詳しい方がいらっしゃいましたら、ぜひ教えてください。
よろしくお願いいたします。

A 回答 (1件)

適当に作ってみました。


一応私の環境では消えます。
#全角スペースなので、タブか何かに変換してください。


import javax.swing.*;
import java.awt.event.*;
import java.awt.BorderLayout;

class Tekito extends JFrame
  implements ActionListener {
  
  private JTextField textField;
  
  public Tekito(String title) {
    super(title);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setBounds(100, 100, 200, 200);
    this.setLayout(new BorderLayout());
    textField = new JTextField();
    textField.addActionListener(this);
    this.add(textField, BorderLayout.NORTH);
  }
  
  public void actionPerformed(ActionEvent e) {
    textField.setText("");
  }

  public static void main(String[] args) {
    Tekito t = new Tekito("Cho Tekito");
    t.setVisible(true);
  }
}

参考URL:http://www.javadrive.jp/tutorial/jtextfield/inde …

この回答への補足

ありがとうございます!!とても助かりました!
質問後、自分なりに少し、やってみたのですが今のところ
import java.awt.FlowLayout;
import java.awt.TextField;
import javax.swing.JFrame;
import java.awt.Container;
import java.awt.event.ActionListener;

public class ex1 {
public static void main(String[] args) {
JFrame window = new JFrame("ウインドウ");
TextField tf1 = new TextField("こんにちは");

ActionListener l1 = new Tf1Listener();
tf1.addActionListener(l1);


Container panel = window.getContentPane();
panel.setLayout(new FlowLayout());
panel.add(tf1);

window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.pack();
window.setVisible(true);
}
}
で表示がされるようになっています。
これを消すには、お答え頂いた解答をどう対応させていけばいいでしょうか…
もしよろしければ教えてください。よろしくお願いいたします。

補足日時:2010/06/07 10:33
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!