溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java中怎么實現(xiàn)一個事件竊聽器

發(fā)布時間:2021-07-01 16:27:36 來源:億速云 閱讀:165 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關(guān)Java中怎么實現(xiàn)一個事件竊聽器,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

在編寫JSF應(yīng)用時,集成應(yīng)用邏輯其實是對那些產(chǎn)生監(jiān)聽器能懂得的事件的組件分配適當?shù)谋O(jiān)聽器。而不必考慮請求和響應(yīng)。JSF支持用類似于面向接口的方式開發(fā)事件監(jiān)聽器,以及將任意方法注冊為事件監(jiān)聽器的能力(只要它具有正確的方法簽名)。

共有4種標準事件:值改變事件、動作事件、數(shù)據(jù)模型事件以及階段事件。值改變事件是在用戶修改組件的值后,由輸入控件觸發(fā)。動作事件在用戶激活命令組件(比如按鈕)時產(chǎn)生。數(shù)據(jù)模型事件在數(shù)據(jù)感知組件選擇了一行要處理的數(shù)據(jù)時產(chǎn)生。階段事件則在JSF處理HTTP請求時產(chǎn)生。

這些僅僅是框架所定義的標準事件,這并沒有限制使用其他類型的事件。第三方或者你自己,都可以容易地支持不同類型的事件。

值改變事件是當用戶在輸入組件中輸入新值時產(chǎn)生的。可以使用值改變事件監(jiān)聽器來處理值。

簡單的值變事件代碼

  1. <%@ page language="java" pageEncoding="GB18030"%>    

  2. <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>    

  3. <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>    

  4. <html>    

  5.     <body>    

  6.         <f:view>    

  7.             <h:form>    

  8.                 <h:inputText valueChangeListener="#{myform.valueChangeProcess}" />    

  9.                 <h:commandButton binding="#{myform.changeB}" rendered="false" value=" 提 交 " />    

  10.             </h:form>    

  11.         </f:view>    

  12.     </body>    

  13. </html>   

Java代碼

  1. package djob2008;    

  2.     

  3. import javax.faces.component.UIComponent;    

  4. import javax.faces.component.html.HtmlInputText;    

  5. import javax.faces.event.ValueChangeEvent;    

  6.     

  7. /**   

  8.  * @author    

  9.  * @time Jun 24, 20098:24:24 PM   

  10.  */    

  11. public class Myform {    

  12.  public  UIComponent changeB;    

  13.  public void valueChangeProcess(ValueChangeEvent event){    

  14.      HtmlInputText sender=(HtmlInputText)event.getComponent();    

  •      sender.setReadonly(true);    

  •     changeB.setRendered(true);    

  •  }    

  • public UIComponent getChangeB() {    

  •     return changeB;    

  •     

  • public void setChangeB(UIComponent changeB) {    

  •     this.changeB = changeB;    

  • }    

  •     

  • }  

關(guān)于Java中怎么實現(xiàn)一個事件竊聽器就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI