本文目錄一覽:
- 1、java中事件,事件源和事件監聽器概念,使用事件監聽器驚醒事件處理的過程?
- 2、java的事件處理機制是怎樣
- 3、簡述java事件處理機制?
- 4、java什麼是事件?什麼是事件源
- 5、java鼠標點擊事件怎麼做?
- 6、java的事件處理是什麼?
java中事件,事件源和事件監聽器概念,使用事件監聽器驚醒事件處理的過程?
事件:當用戶在界面上執行一個操作,例如按下鍵盤、拖動或者單擊鼠標時,都將產生一個事件。Java中事件是用來描述不同類型用戶操作的對象,Java中有很多不同類型的事件。例如:單擊,雙擊,右擊,拖動,鍵盤的按下、釋放,文本域內容改變等。
事件源:產生事件的組件就是一個事件源。例如,當在一個Button上單擊鼠標是,將產生一個ActionEvent類型的事件,而這個Button就是事件源
事件監聽器:就是調用事件處理方法的對象。當界面操作事件產生並被發送到產生事件的組件時,該組件將把事件發送給能接受和處理該事件的監聽器。
java的事件處理機制是怎樣
JAVA中當事件發生時,他不會進行廣播,而是僅僅向關心此事件的對象發送消息。那麼他怎麼知道誰“關心”此事件呢。
這就要求關心此事件的對象,先行向事件的發出方進行註冊,表示我關心此事件,當事件發生時請通知我。
【簡單來說】:就是事件的“處理方”向事件的“發出方”先行註冊,當事件發生時,事件的“發生方”負責通知事件的“處理方”。
譬如我編寫一個窗口,用到了JFrame,我想實現一個功能,當按下Q鍵時,窗口關閉。
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
public class TestFrame extends JFrame {
private static final long serialVersionUID = 5671798241966272024L;
public static void main(String[] args) {
new TestFrame();
}
public TestFrame() {
setSize(400, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
addKeyListener(new MyKeyListener());// 這句話就是所謂的註冊事件。
// MyKeyListener作為事件的處理方,向事件的觸發方TestFrame進行註冊。
// 這句話的意思是說,MyKeyListener對TestFrame說,我對於你的鍵盤事件感興趣,如果有鍵盤事件請告訴我。
// 而TestFrame有一個列表保存着MyKeyListener對象的引用。當鍵盤按下時,他會列表中所有引用,調用KeyPressed方法。
// 當鍵盤鬆開時還會調用keyReleased方法,但是我們對於鍵盤鬆開不太關心,所以下面的類,我們可以只編寫KeyPressed方法。
}
private final class MyKeyListener extends KeyAdapter {
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_Q) {
System.exit(0);
}
}
}
}
簡述java事件處理機制?
java事件處理機制你必須得明確以下幾個概念:
核心:java採用的是事件源——事件監聽器模型
1:事件(event):是指一個狀態的改變,或者一個活動的發生。例如,簡單常見的是單擊一個按鈕,或者輸入一個按鍵都是一個事件。
2:事件源(event source):能夠產生事件的對象稱為事件源,如文本框,按鈕,下拉列表等。
3:事件監聽器(event listener):需要一個對象對事件源進行監聽,以便對發生的事件做出處理,該對象就是事件監聽器。事件源通過調用相應的方法將某個對象作為自己的監聽器。無論應用程序還是小程序都採用這一機制。
例,對於按鈕,註冊監聽器的方法是 addActionListener(監視器);:
4: 事件源獲得監聽器之後,相應的操作就會導致事件的發生,並通知監聽器,監聽器就會做出相應的處理。
5:處理事件的接口:監聽器負責處理事件源發生的事件。為了處理事件源發生的事件,監聽器會自動調用一個方法來處理事件,該方法定義在相應事件的接口中。
java什麼是事件?什麼是事件源
常見的事件包括 移動鼠標 , 單雙擊鼠標各個按鈕 ,單擊按鈕 ,在文本字段輸入 ,在菜單中選擇菜單項 ,在組合框中選擇、單選和多選 ,拖動滾動條 ,關閉窗口………
事件源 與用戶進行交互的GUI組件,表示事件來自於哪個組件或對象
比如要對按鈕被按下這個事件編寫處理程序,按鈕就是事件源
java鼠標點擊事件怎麼做?
java鼠標點擊事件的方法如下:
span style=”font-family:Verdana;”事件源/span.addMouseListener(new MouseAdapter() {//建立事件處理機制
@Override
public void mouseClicked(MouseEvent e) {
if(e.getButton()==e.BUTTON1){//點擊鼠標左鍵
int x=e.getX();
int y=e.getY();
String str=”您點擊的是左鍵,鼠標當前點擊位置的坐標是(” + x + “,” + y+”)”;
label.setText(str);
}else if(e.getButton()==e.BUTTON2){//點擊鼠標滑輪
int x=e.getX();
int y=e.getY();
String str=”您點擊的是滑輪,鼠標當前點擊位置的坐標是(” + x + “,” + y+”)”;
label.setText(str);
}
else if(e.getButton()==e.BUTTON3){//點擊鼠標右鍵
int x=e.getX();
int y=e.getY();
String str=”您點擊的是右鍵,鼠標當前點擊位置的坐標是(” + x + “,” + y+”)”;
label.setText(str);
}
}
});
e.getButton()返回值分別為NOBUTTON、BUTTON1、BUTTON2、BUTTON3,分別代表着無點擊、左擊、中間鍵、右擊三種情況。
給Java初學者的建議:
1,不一定要把java學深入。有多少人搞程序是喜歡這個的,搞程序一半是因為錢多,一半是因為晉陞公平。
2,初學者學java至少要脫產半年的時間才能算了解了,才適合被人帶,因為至少半年的時間,才知道遇到問題如何解決,有的人需要更長的時間。現在有很多人已經有5年左右的經驗了,在他們的壓制下,java初學者很難有逆襲的機會了。
3,行業環境,現在數據存儲,後台打包的方案的創業公司已經有苗頭,也就是說,後台開發已經被集中解決,日後會越來越成熟,這就是意味着,java招聘需要有經驗的人,也就是說,必須熬幾年後才能有突破。
4,java離市場較遠,所以呢?java開發人員很難有一個大的突破。
5,程序裡面有變量所以解決了一系列類似的問題,所以註定了程序必須提供大批服務時才能有高收益。
java的事件處理是什麼?
打個比方:如果用戶用鼠標單擊了按鈕對象button,則該按鈕button就是事件源,而java運行時系統會生成ActionEvent類的對象actionE,該對象中描述了該單擊事件發生時的一些信息,然後,事件處理者對象將接收由java運行時系統傳遞過來的事件對象actionE並進行相應的處理。
由於同一個事件源上可能發生多種事件,因此java採取了授權處理機制,事件源可以把在其自身所有可能發生的事件分別授權給不同的事件處理者來處理。比如在Canvas對象上既可能發生鼠標事件,也可能發生鍵盤事件,該Canvas對象就可以授權給事件處理者一來處理鼠標事件,同時授權給事件處理者二來處理鍵盤事件。有時也將事件處理者稱為監聽器,主要原因也在於監聽器時刻監聽着事件源上所有發生的事件類型,一旦該事件類型與自己所負責處理的事件類型一致,就馬上進行處理。授權模型把事件的處理委託給外部的處理實體進行處理,實現了將事件源和監聽器分開的機制。事件處理者(監聽器)通常是一個類,該類如果要能夠處理某種類型的事件,就必須實現與該事件類型相對的接口。例如例5.9中類ButtonHandler之所以能夠處理ActionEvent事件,原因在於它實現了與ActionEvent事件對應的接口ActionListener。每個事件類都有一個與之相對應的接口。將事件源對象和事件處理器(事件監聽器)分開。
使用授權處理模型進行事件處理的一般方法歸納如下:
1.對於某種類型的事件XXXEvent, 要想接收並處理這類事件,必須定義相應的事件監聽器類,該類需要實現與該事件相對應的接口XXXListener;
2.事件源實例化以後,必須進行授權,註冊該類事件的監聽器,使用addXXXListener(XXXListener ) 方法來註冊監聽器。
這是我的一點個人見解,希望對你有幫助,加油。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/238481.html