MouseEvent事件
MouseEvent是鼠標(biāo)事件废岂,對(duì)應(yīng)的監(jiān)聽(tīng)器其中之一是MouseListener接口,該接口中的方法如下:
//鼠標(biāo)點(diǎn)擊時(shí)
publicvoidmouseClicked(MouseEventme);
//鼠標(biāo)進(jìn)入時(shí)
publicvoidmouseEntered(MouseEventme);
//鼠標(biāo)離開(kāi)時(shí)
publicvoidmouseExited(MouseEventme);
//鼠標(biāo)按下時(shí)
publicvoidmousePressed(MouseEventme);
//鼠標(biāo)釋放時(shí)
publicvoidmouseReleased(MouseEvent me);
因?yàn)榇蟛糠直O(jiān)聽(tīng)類中包含多個(gè)方法狱意,我們要根據(jù)具體需求選擇覆蓋其中某個(gè)或某些方法湖苞,比如:在登錄界面中,如果用戶姓名的文本框中有默認(rèn)文本详囤,我們希望鼠標(biāo)點(diǎn)擊后文本消失财骨,則使用鼠標(biāo)點(diǎn)擊事件。
首先我們需要在LoginFrame類中的init( )方法中增加給文本框設(shè)置默認(rèn)文本和添加監(jiān)聽(tīng)的方法纬纪,如示例1所示蚓再。
【示例1】MouseEvent事件—LoginFrame類中新增代碼
//在用戶姓名的文本框中添加默認(rèn)文本
txtUserName.setText("請(qǐng)輸入用戶姓名");
//在用戶姓名的文本框上添加鼠標(biāo)事件
txtUserName.addMouseListener(newLoginFrame_txtUserName_MouseListener(this));
【示例2】MouseEvent事件—單擊文本框監(jiān)聽(tīng)類
packagecn.sxt.mouseevent.listeners;
importjava.awt.event.MouseEvent;
importjava.awt.event.MouseListener;
importcn.sxt.mouseevent.views.LoginFrame;
/**
*清空文本框功能監(jiān)聽(tīng)類
*@author高淇
*/
publicclassLoginFrame_txtUserName_MouseListenerimplementsMouseListener {
privateLoginFramelf;
publicLoginFrame_txtUserName_MouseListener(LoginFramelf) {
this.lf=lf;
}
@Override
publicvoidmouseClicked(MouseEvente) {
//將登陸界面中的用戶姓名文本框中的文本清除
this.lf.getTxtUserName().setText("");
}
@Override
publicvoidmousePressed(MouseEvente) {
}
@Override
publicvoidmouseReleased(MouseEvente) {
}
@Override
publicvoidmouseEntered(MouseEvente) {
}
@Override
publicvoidmouseExited(MouseEvente) {
}
}
執(zhí)行結(jié)果如圖所示:
由以上兩個(gè)案例可見(jiàn),我們做事件時(shí)包各,先要確定事件源摘仅,在事件源上添加事件監(jiān)聽(tīng)程序,在事件監(jiān)聽(tīng)類中的相應(yīng)方法中添加業(yè)務(wù)邏輯问畅。其他事件流程一樣娃属,以下不再贅述。
MouseEvent 其它監(jiān)聽(tīng)
MouseEvent也可以對(duì)應(yīng)鼠標(biāo)運(yùn)動(dòng)事件护姆,對(duì)應(yīng)監(jiān)聽(tīng)器是MouseMotionListener接口矾端,其中方法如下:
//鼠標(biāo)移動(dòng)時(shí)
publicvoidmouseMoved(MouseEventme);
//鼠標(biāo)拖動(dòng)時(shí)
publicvoidmouseDragged(MouseEvent me);
「全棧Java筆記」是一部能幫大家從零到一成長(zhǎng)為全棧Java工程師系列筆記。筆者江湖人稱 Mr. G卵皂,10年Java研發(fā)經(jīng)驗(yàn)秩铆,曾在神州數(shù)碼、航天院某所研發(fā)中心從事軟件設(shè)計(jì)及研發(fā)工作,從小白逐漸做到工程師殴玛、高級(jí)工程師捅膘、架構(gòu)師。精通Java平臺(tái)軟件開(kāi)發(fā)滚粟,精通JAVAEE寻仗,熟悉各種流行開(kāi)發(fā)框架。
筆記包含從淺入深的六大部分:
A-Java入門(mén)階段
B-數(shù)據(jù)庫(kù)從入門(mén)到精通
C-手刃移動(dòng)前端和Web前端
D-J2EE從了解到實(shí)戰(zhàn)
E-Java高級(jí)框架精解
F-Linux和Hadoop