Java 爪哇:我该怎么做;onclick";对于TextField?

Java 爪哇:我该怎么做;onclick";对于TextField?,java,awt,Java,Awt,我想让我的文本字段在有人单击时清除文本。我该怎么做?可能,您需要addMouseListener() upd 这就像smt一样 TextField a = ...; a.addMouseListener(new MouseAdapter(){ public void mouseReleased(MouseEvent e) { //some stuff } }); upd2 在java.awt.TextField上将keyListener固定到MouseListener,

我想让我的文本字段在有人单击时清除文本。我该怎么做?

可能,您需要
addMouseListener()

upd 这就像smt一样

TextField a = ...;
  a.addMouseListener(new MouseAdapter(){
   public void mouseReleased(MouseEvent e) {
    //some stuff
   }
});
upd2
java.awt.TextField
上将keyListener固定到MouseListener

,您可以像这样添加一个
MouseListener

TextField field = new TextField();
field.addMouseListener(new MouseListener() {

    public void mouseClicked(MouseEvent e) {

    }

    public void mousePressed(MouseEvent e) {

    }

    public void mouseReleased(MouseEvent e) {

    }

    public void mouseEntered(MouseEvent e) {

    }

    public void mouseExited(MouseEvent e) {

    }

});
原因是
java.awt.TextField
java.awt.TextComponent
的一个子类(后者又是
java.awt.Component
的一个子类)。
组件
类有一个
addMouseListener()
方法

或者,您可以用
java.awt.event.MouseAdapter
替换
MouseListener
MouseWheelListener
MouseMotionListener
方法

从JavaDoc(属于
MouseAdapter
):

的抽象适配器类 接收鼠标事件。中的方法 这个班是空的。这个班 存在是为了方便创建 侦听器对象

鼠标事件允许您跟踪 按下、释放、单击鼠标, 移动、拖动,当它进入 组件退出时以及 移动鼠标滚轮


试试这个:

  TextField.setText("defaultText");

    TextField.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            reSet(evt);
        }
    });

  TextField.addFocusListener(new java.awt.event.FocusAdapter() {
        public void focusGained(java.awt.event.FocusEvent evt) {
            reSet(evt);
        }
  });

  void reSet(java.awt.event.KeyEvent evt) {
      String temp = jTextField1.getText();
      TextField.setText(temp.equals("defaultText")? "" : temp);
  }

这是java JTextField吗?你能用连贯的英语键入你的答案吗?@Glenn Nelson,对不起。我正在努力。如果你能告诉be我的错误,那就太好了。@Stas,所以它被取消了……我现在明白了。这里不确定:当
组件
获得焦点时,即当你将+tab键切换到JFrame时,
聚焦(FocusEvent)
不是总是被触发吗?即使我只使用鼠标按下,为什么eclipse让我为所有其他人都有空函数?@Doug,因为您实现的是一个接口,而不是一个抽象类。如果您只想按住鼠标
,请使用
MouseAdapter