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
。