[英]Java: How do I do a “onclick” for TextField?
我想让我的文本字段在有人单击时清除文本。 我怎样才能做到这一点?
在java.awt.TextField
您可以像这样添加一个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
)。 Component
类具有addMouseListener()
方法。
或者,您可以将java.awt.event.MouseAdapter
替换为MouseListener
,因为它封装了所有MouseListener
, MouseWheelListener
和MouseMotionListener
方法。
从( MouseAdapter
)JavaDoc:
用于接收鼠标事件的抽象适配器类。 此类中的方法为空。 此类的存在是为了方便创建侦听器对象。
鼠标事件可让您跟踪何时按下,释放,单击,移动,拖动鼠标,何时进入组件,何时退出以及何时移动鼠标滚轮。
可能需要addMouseListener()
。
upd这会像
TextField a = ...;
a.addMouseListener(new MouseAdapter(){
public void mouseReleased(MouseEvent e) {
//some stuff
}
});
upd2将keyListener修复为MouseListener
尝试这个:
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);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.