導航:首頁 > 編程語言 > java定義事件

java定義事件

發布時間:2024-07-10 12:38:43

java 自定義事件的觸發及監聽

JAVA事件響應機制

1,先自定義一個事件

public class MyEvent extends java.util.EventObject{
public MyEvent(Object source)
{
super(source);
}
}

2,再自定義一個監聽器

public class MyListener implements java.util.EventListener{
//這里是當事件發生後的響應過程
public void EventActivated(MyEvent me)
{
System.out.println("事件已經被觸發");
}
}

3,以下這個類為觸發事件的事件源

public class MyObject {
private Vector vectorListeners=new Vector();

public synchronized void addMyListener(MyListener ml)
{
vectorListeners.addElement(ml);
}

public synchronized void removeMyListener(MyListener ml)
{
vectorListeners.removeElement(ml);
}

protected void activateMyEvent()
{
Vector tempVector=null;

MyEvent e=new MyEvent(this);

synchronized(this)
{
tempVector=(Vector)vectorListeners.clone();

for(int i=0;i<tempVector.size();i++)
{
MyListener ml=(MyListener)tempVector.elementAt(i);
ml.EventActivated(e);
}
}

}

//定義一個公用方法用於觸發事件
public void test()
{
activateMyEvent();
}
}

4,測試類

public class Test {

public static void main(String[] args)
{
MyObject mo=new MyObject();

//注冊該事件
mo.addMyListener(new MyListener());

//觸發該事件
mo.test();
}
}

❷ java什麼是事件什麼是事件源

常見的事件包括 移動滑鼠 , 單雙擊滑鼠各個按鈕 ,單擊按鈕 ,在文本欄位輸入 ,在菜單中選擇菜單項 ,在組合框中選擇、單選和多選 ,拖動滾動條 ,關閉窗口.........
事件源 與用戶進行交互的GUI組件,表示事件來自於哪個組件或對象
比如要對按鈕被按下這個事件編寫處理程序,按鈕就是事件源

❸ 用java寫一個單擊滑鼠事件

使用組件的paint函數用於繪圖, 使用MouseListener來響應滑鼠的點擊

效果圖

importjava.awt.Color;
importjava.awt.Graphics;
importjava.awt.event.*;
importjavax.swing.*;

{

publicDemoWin(){
MyPanelmp=newMyPanel();
mp.addMouseListener(mp);
add(mp);
//窗口屬性設置
setTitle("Demo");//標題
setSize(300,280);//窗口大小
setLocationRelativeTo(null);//窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//窗口點擊關閉時,退出程序
}

publicstaticvoidmain(String[]args){
DemoWinwin=newDemoWin();//創建窗口
win.setVisible(true);//顯示窗口
}

{
inttimes;//記錄點擊的次數
intx;//記錄滑鼠X軸的位置
inty;//記錄滑鼠Y軸的位置

@Override
publicvoidpaint(Graphicsg){
super.paint(g);
if(times==0){
g.setColor(Color.BLUE);//顏色
g.fillOval(150,150,50,50);//150,150代表位置50,50代表寬高
}elseif(times==1){
g.setColor(Color.RED);
g.fillRect(150,150,50,50);
}else{
g.setColor(Color.RED);
g.fillRect(x,y,50,50);
}
repaint();
}

publicvoidmouseClicked(MouseEvente){
//if(e.getButton()==MouseEvent.BUTTON1){//單擊左鍵時有效..
//times++;//記錄點擊的次數
//x=e.getX();
//y=e.getY();
//}
}

publicvoidmousePressed(MouseEvente){//滑鼠按下就有效
times++;//記錄點擊的次數
x=e.getX();
y=e.getY();
}

publicvoidmouseReleased(MouseEvente){//滑鼠釋放
}

publicvoidmouseEntered(MouseEvente){//滑鼠移入
}

publicvoidmouseExited(MouseEvente){//滑鼠移出
}

}
}

❹ java中什麼是事件源,事件的處理過程是什麼

在java的圖形界面開發中,要讓圖形界面接收到用戶的操作,就要給各個組件添加事件處理機制。

事件 : 為了實現用戶對圖形界面組件的操作,定義了一些事件

滑鼠事件:單擊,雙擊,滾輪等....

鍵盤事件 按下鍵盤,松開按鍵等...

焦點事件 :焦點獲得 ,焦點失去...

窗口事件: 窗口打開,窗口關閉等....


事件源: 發聲事件的場所. 比如按鈕被點擊,那麼事件源就是按鈕

文本框獲得焦點. 那麼事件源就是文本框

窗口被關閉,那麼事件源就是窗口


事件源-----產生----->事件------>被事件監聽器發現------>進入事件處理代碼

importjava.awt.Frame;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
{//窗口就是事件源
publicDemoAction(){
this.setTitle("窗口關閉");
this.setLocation(400,200);
this.setSize(360,280);
//給窗口綁定一個事件監聽器
this.addWindowListener(newWindowAdapter(){
@Override
publicvoidwindowClosing(WindowEvente){//事件WindowEvent
System.exit(0);//關閉窗口事件,那麼退出jvm
}
});
this.setVisible(true);
}

publicstaticvoidmain(String[]args){
newDemoAction();
}
}

❺ java自定義事件,線程a如何每一秒鍾觸發一個事件,然後另一個線程b監聽之,並作出反應

線程a是作為事件源,那麼線程a這個類就必須提供一個可以增加監聽器的方法,就像GUI編程中的addActionListener這個樣的方法。線程a這個類裡面是有一個專門存放監聽器的一個容器,例如是list。然後你 增加監聽器的方法就是把監聽器放進這個容器裡面。你用一個監聽器去監聽一個事件的發生,就可以在線程a這個類中,寫一個產生事件的一段代碼,然後每當產生一個事件之後,去遍歷list,去調用監聽器的對於這個事件的處理方法,這樣子就可以了。這應該就是java中的事件模式。

❻ JAVA 什麼是事件事件是怎麼產生的

就是一個動作或指令或結果等,比如你單擊滑鼠的左鍵,按下回車鍵,敲進一個字元等都是一個事件。

閱讀全文

與java定義事件相關的資料

熱點內容
幼兒編程教育培訓多少錢 瀏覽:402
經常生氣有什麼東西能解壓 瀏覽:900
代理伺服器地址和埠可以怎麼填 瀏覽:62
unity5手游編譯模型 瀏覽:265
安卓無人機app源碼 瀏覽:808
pl1編程語言 瀏覽:801
台達plc編程換算指令大全 瀏覽:174
手機上的編程游戲 瀏覽:108
伺服器密碼機有什麼用 瀏覽:477
dos磁碟命令 瀏覽:955
單片機cpu52的功能 瀏覽:691
opc伺服器怎麼開發 瀏覽:373
覓喜是個什麼app 瀏覽:402
加密cd機 瀏覽:946
社保用什麼app繳納 瀏覽:313
nodevlinux 瀏覽:582
騰訊tt伺服器怎麼登錄密碼 瀏覽:898
windows命令提示符 瀏覽:352
win7管理員許可權命令 瀏覽:729
地圖app哪個適合老年人用 瀏覽:74