您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關(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)聽器來處理值。
簡單的值變事件代碼
<%@ page language="java" pageEncoding="GB18030"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<html>
<body>
<f:view>
<h:form>
<h:inputText valueChangeListener="#{myform.valueChangeProcess}" />
<h:commandButton binding="#{myform.changeB}" rendered="false" value=" 提 交 " />
</h:form>
</f:view>
</body>
</html>
Java代碼
package djob2008;
import javax.faces.component.UIComponent;
import javax.faces.component.html.HtmlInputText;
import javax.faces.event.ValueChangeEvent;
/**
* @author
* @time Jun 24, 20098:24:24 PM
*/
public class Myform {
public UIComponent changeB;
public void valueChangeProcess(ValueChangeEvent event){
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é)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發(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)容。