① listener監聽器的工作原理是什麼
Java 最新的事件處理方法是基於授權事件模型
事件源生成事件並將其發送至一個或多個監聽器
監聽器簡單地等待,直到它收到一個事件。一旦事件被接受,監聽器將處理這些事件,然後返回。
事件:在授權事件模型中,事件是一個描述事件源狀態改變的對象 。
通過滑鼠、鍵盤與 GUI 界面直接或間接交互都會生成事件。 如:按下一個按鈕、通過鍵盤輸入一個字元、選擇列表框中的一項、點擊一下滑鼠等。
事件源:事件源是一個生成事件的對象
一個事件源可能會生成不同類型的事件
事件源提供了一組方法,用於為事件注冊一個或多個監聽器。
每種事件的類型都有其自己的注冊方法。一般形式為:
public void add<EventType>Listener (TypeListener e)
AWT採取的事件控制過程:監聽器對象屬於一個類的實例,這個類實現了一個特殊的介面,名為「監聽者介面」
事件源是一個對象,它可以注冊一個或多個監聽器對象,並向其發送事件對象。
事件源將在發生事件時向所有注冊的監聽器發送事件對象。
監聽器對象使用事件對象中的信息來確定它們對事件的響應
事件模型:
1.基於代理(授權)事件模型
事件處理是一個事件源授權到一個或者多個事件監聽器。其基本原理是:組件激發事件,事件監聽器監聽和處理事件,可以調用組件的add<EventType>Listener方法向組件注冊監聽器。把其加入到組件以後,如果組件激發了相應類型的事件,那麼定義在監聽器中的事件處理方法會被調用。
2.此模型主要由以三種對象為中心組成
事件源 由它來激發產生事件
是產生或拋出事件的對象。
事件監聽器 由它來處理事件
實現某個特定EventListener 介面,此介面定義了一種或多種方法,事件源調用它們以響應該介面所處理的每一種特定事件類型 。
事件 具體的事件類型
事件類型封裝在以java.util.EventObject為根的類層次中。當事件發生時,事件記錄發生的一切事件,並從事件源傳播到監聽器對象
② 關於java的監聽器
1、public void addWindowListener(WindowListener l)添加指定的窗口偵聽器,以從此窗口接收窗口事件。如果 l 為 null,則不拋出任何異常,且不執行任何操作。
這個是API中的方法定義,此方法參數為介面WindowListener,任何實現該介面的類都可以作為參數。
2、public abstract class WindowAdapterimplements WindowListener, WindowStateListener, WindowFocusListener
接收窗口事件的抽象適配器類。此類中的方法為空。此類存在的目的是方便創建偵聽器對象。
擴展此類可創建 WindowEvent 偵聽器並為所需事件重寫該方法。(如果要實現
WindowListener 介面,則必須定義該介面內的所有方法。此抽象類將所有方法都定義為
null,所以只需針對關心的事件定義方法。)
使用擴展的類可以創建偵聽器對象,然後使用窗口的 addWindowListener
方法向該窗口注冊偵聽器。當通過打開、關閉、激活或停用、圖標化或取消圖標化而改變了窗口狀態時,將調用該偵聽器對象中的相關方法,並將
WindowEvent 傳遞給該方法。
3、如果我想在代碼中一次性使用某個類(抽象類或具體類)或介面,可以使用匿名類的方式,這樣不需自己定義一個My***類,然後再使用,比較方便。用法就是直接在new WindowAdapter()後面加入類定義,在其中實現或覆蓋方法就可以了。
匿名類不是返回值,而是相當於new String(「hello」)這種的擴展形式。我覺得匿名類的最多用處就是加監聽器時。
附上WindowAdapter源代碼:
implementsWindowListener,WindowStateListener,WindowFocusListener
{
publicvoidwindowOpened(WindowEvente){}
publicvoidwindowClosing(WindowEvente){}
publicvoidwindowClosed(WindowEvente){}
publicvoidwindowIconified(WindowEvente){}
publicvoidwindowDeiconified(WindowEvente){}
publicvoidwindowActivated(WindowEvente){}
publicvoidwindowDeactivated(WindowEvente){}
publicvoidwindowStateChanged(WindowEvente){}
publicvoidwindowGainedFocus(WindowEvente){}
publicvoidwindowLostFocus(WindowEvente){}
}
③ java中事件,事件源和事件監聽器概念,使用事件監聽器驚醒事件處理的過程
事件:當用戶在界面上執行一個操作,例如按下鍵盤、拖動或者單擊滑鼠時,都將產生一個事件。Java中事件是用來描述不同類型用戶操作的對象,Java中有很多不同類型的事件。例如:單擊,雙擊,右擊,拖動,鍵盤的按下、釋放,文本域內容改變等。
事件源:產生事件的組件就是一個事件源。例如,當在一個Button上單擊滑鼠是,將產生一個ActionEvent類型的事件,而這個Button就是事件源
事件監聽器:就是調用事件處理方法的對象。當界面操作事件產生並被發送到產生事件的組件時,該組件將把事件發送給能接受和處理該事件的監聽器。
④ java中監聽器的功能好像有點類似鏈接或者其它動作後的操作,可以這樣認為嗎監聽器究竟是幹嘛的
監聽就是監聽你的動作的啦,滑鼠,鍵盤,狀態的啦
響應你的動作的啦
⑤ 怎麼找房間里的監聽器
1、在電話交談時注意話機。注意聲音變化,靜音,間歇音或其它陌生的聲音、業余竊聽設備往往會產生這類干擾。
2、在沒有打電話時傾聽話機,注意來自自家電話的聲音。如果聽到上述雜音,意味著電話可能被安裝了竊聽器,某些竊聽器在一定射程范圍內偷聽別人說話會使用放大器。
3、注意家或辦公室里的東西,裝有竊聽器的新東西往往被放置在受害者意識不到的地方。常見的新東西是收音機,鬧鍾,噴頭,相框和燈泡等。還應注意有可能含有竊聽設備的禮品。常見的竊聽禮品是電源適配器,尋呼機,筆,飲水機,計算器,公文包和CD播放器等。

(5)監聽器的發明擴展閱讀
2013年年9月,北京警方統一行動,在昌平、中關村、亦庄開發區同時行動,查獲了28家非法出售竊聽竊照器材的公司,抓獲53名嫌疑人,並查扣了29種、3600多件器材。經國家安全部門鑒定,這些器材均具備偽裝、隱蔽竊聽竊照功能,屬竊聽竊照專用器材。
雖然有法律規定全面禁止生產、銷售和使用此類竊聽竊照專用器材,但現在技術發展快,法律應進一步明確和擴大相關器材的定義范圍,增強執法的可操作性。」麻增偉律師表示,由於現在銷售方式較為隱蔽和靈活,取證和打擊難度也較大,所以執法部門應從生產、銷售、使用的各個環節,加強監管和執法力度,對此類行為進行有效的治理。
⑥ 嬰兒監視器的行業發展
在嬰兒監聽器行業的歷史上,2.4G數字式嬰兒監聽器與40/49M的嬰兒監聽器占據主要部分。自1980 年代起,40/49MHz 嬰兒監聽器生產行業基本採用十幾MHz晶體振盪再經3 次倍頻的方式得到工作頻率,這種方案的優點是技術簡單,成本低廉,但是3倍頻導致電路中充斥了很多不需要的多次諧波及基波。為了...濾除不需要的頻率,通常採用中周調諧的方式選出所要的頻率。因此生產調試復雜,不良率高,而且一個工作頻率需要一個晶體,對於多頻道選擇的監聽器,就需要多個晶體,增加了生產成本和中周調諧的復雜性。 隨著經濟的快速發展,電子產品日新月異的更新換代、行業企業的激烈競爭,產品的成本控制已經成為消費電子的重要門檻。目前國外嬰兒監聽器產業發展較為成熟,使用也比較廣泛,知名品牌如Angelcare。40/49M的嬰兒監聽器相比於2.4G數字式嬰兒監聽器,其巨大的成本優勢使其在嬰兒監聽器市場始終占據大比例份額,但由於大多數晶元設計公司的產品瞄準的是射頻市場,因此能應用於40-49MHz嬰兒監聽器上的產品鳳毛麟角,MCD2006S晶元,這不僅是在國內,國外情況類似。目前國內比較好的解決方案是利用鎖相環晶元技術,知名品牌如美芯。使用此種技術的結果是簡化了嬰兒監聽器的生產調試,提高了生產良率,固化了40/49MHz嬰兒監聽器常用頻點的ROM、和RF功放等功能。
⑦ Java監聽器的一個奇怪問題
那個 while(true) { } 什麼時候終止? 死循環是不行的。
Swing 有一個 EventQueueThread,所有的界面相關的事件都在這個線程中處理,如果你的監聽器沒有明確地在另一個新創建的線程中運行而是占據了 Swing 的 Event Dispatcher Thread 的話,那麼它將導致這個 Event Queue 中排在你這個事件後面的所有事件因為你的while(true) {}無限循環而沒有機會被處理。所以,你叫它「顯示出一個 JFrame" 但它只能說」我現在好忙,手頭上的事件還沒做完「。
另外一線程在沒有事情可做的事件應該 Thread.yield() 放棄 CPU 時間,否則你這個無限循環 CPU 佔用率一直是 100%。
⑧ 怎樣才能知道房間放了竊聽器
可以採取兩種方法。一種是自己對家裡的角角落落,每個地方都進行仔細的檢查,唯一的缺點就是費時費力。
允許的話,也可以採取這第二種,使用專業反竊聽設備。它的搜查效率高,而且精確度也高,能實現精準搜查。
⑨ javaEE中的監聽器有什麼作用
一、概念
監聽器就是一個實現特定介面的普通java程序,這個程序專門用於監聽另一個java對象的方法調用或屬性改變,當被監聽對象發生上述事件後,監聽器某個方法將立即被執行。
二、Servle監聽器
1、編寫 Servlet 監聽器
(1)和編寫其它事件監聽器一樣,編寫servlet監聽器也需要實現一個特定的介面,並針對相應動作覆蓋介面中的相應方法。
(2)和其它事件監聽器略有不同的是,servlet監聽器的注冊不是直接注冊在事件源上,而是由WEB容器負責注冊,開發人員只需在web.xml文件中使用<listener>標簽配置好監聽器,web容器就會自動把監聽器注冊到事件源中。
(3)一個 web.xml 文件中可以配置多個 Servlet 事件監聽器,web 伺服器按照它們在web.xml 文件中的注冊順序來載入和注冊這些 Serlvet 事件監聽器。
配置如下:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
三、就是gui里邊控制項的監聽器了。具體是什麼就要自己看看相關書籍或者源碼了!