[英]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.