java监听器模式使用场景_常用监听器及其应用场景
常用監(jiān)聽(tīng)器舉例,及應(yīng)用場(chǎng)景分析:
已用過(guò)的有動(dòng)作監(jiān)聽(tīng)器,鼠標(biāo)監(jiān)聽(tīng)器,鼠標(biāo)移動(dòng)監(jiān)聽(tīng)器
1、MouseAdapter可以包括以下幾個(gè)監(jiān)聽(tīng)器的方法,因此,我們寫的時(shí)候可以直接寫這個(gè)
public abstract class MouseAdapter implements MouseListener, MouseWheelListener, MouseMotionListener {
public void mouseClicked(MouseEvent e){}//鼠標(biāo)點(diǎn)擊時(shí)
public void mousePressed(MouseEvent e) {}//鼠標(biāo)按下時(shí)
public void mouseReleased(MouseEvent e) {}//鼠標(biāo)釋放時(shí)
public void mouseEntered(MouseEvent e) {}//進(jìn)入鼠標(biāo)
public void mouseExited(MouseEvent e) {}//退出鼠標(biāo)
public void mouseWheelMoved(MouseWheelEvent e){}//滾輪移動(dòng)
public void mouseDragged(MouseEvent e){}//鼠標(biāo)拖拽
public void mouseMoved(MouseEvent e){}//鼠標(biāo)移動(dòng)
}
2、動(dòng)作監(jiān)聽(tīng)器ActionListener、如果是接口的話必須將接口中的方法全部重寫
public interface ActionListener extends EventListener {
public void actionPerformed(ActionEvent e{}
}
3、鼠標(biāo)監(jiān)聽(tīng)器MouseListener
public interface MouseListener extends EventListener {
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){}
}
每一個(gè)事件對(duì)應(yīng)一個(gè)監(jiān)聽(tīng)器:
ActionEvent ActionListener
MouseEvent MouseListener
通常我們是將監(jiān)聽(tīng)器定義為一個(gè)類,在主類中創(chuàng)建監(jiān)聽(tīng)器對(duì)象,通過(guò)監(jiān)聽(tīng)器的構(gòu)造方法,將主類中已經(jīng)定義的實(shí)參傳代替監(jiān)聽(tīng)器中定義的形參,并且賦值給監(jiān)聽(tīng)器中定義的屬性。監(jiān)聽(tīng)器是在動(dòng)作發(fā)生時(shí)才會(huì)起作用。
如在主類中定義:
//從窗體上獲取畫布對(duì)象
//獲取窗體在屏幕上所占據(jù)的區(qū)域,這塊區(qū)域是可以改變顏色的
java.awt.Graphics g = this.getGraphics();
//1、在主類中,創(chuàng)建監(jiān)聽(tīng)器對(duì)象。2、傳值
DrawListener dlis = new DrawListener(g);
//3、給窗體加上鼠標(biāo)監(jiān)聽(tīng)器
this.addMouseListener(dlis);
在實(shí)現(xiàn)監(jiān)聽(tīng)器的類中:
private java.awt.Graphics gr;
//形參g,調(diào)用函數(shù)時(shí),將實(shí)參的值代替形參,即將
public DrawListener(java.awt.Graphics g){
gr = g;
}
再將監(jiān)聽(tīng)器中所有的方法重寫即可。如此便能做到在畫布中畫出直線
總結(jié)
以上是生活随笔為你收集整理的java监听器模式使用场景_常用监听器及其应用场景的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java获取被占用的文件进程_java
- 下一篇: java新建测试程序_java – 如何