成都创新互联网站制作重庆分公司

Java中怎么实现一个事件窃听器

这篇文章将为大家详细讲解有关Java中怎么实现一个事件窃听器,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

创新互联建站专注于网站设计、做网站、网页设计、网站制作、网站开发。公司秉持“客户至上,用心服务”的宗旨,从客户的利益和观点出发,让客户在网络营销中找到自己的驻足之地。尊重和关怀每一位客户,用严谨的态度对待客户,用专业的服务创造价值,成为客户值得信赖的朋友,为客户解除后顾之忧。

在编写JSF应用时,集成应用逻辑其实是对那些产生监听器能懂得的事件的组件分配适当的监听器。而不必考虑请求和响应。JSF支持用类似于面向接口的方式开发事件监听器,以及将任意方法注册为事件监听器的能力(只要它具有正确的方法签名)。

共有4种标准事件:值改变事件、动作事件、数据模型事件以及阶段事件。值改变事件是在用户修改组件的值后,由输入控件触发。动作事件在用户激活命令组件(比如按钮)时产生。数据模型事件在数据感知组件选择了一行要处理的数据时产生。阶段事件则在JSF处理HTTP请求时产生。

这些仅仅是框架所定义的标准事件,这并没有限制使用其他类型的事件。第三方或者你自己,都可以容易地支持不同类型的事件。

值改变事件是当用户在输入组件中输入新值时产生的。可以使用值改变事件监听器来处理值。

简单的值变事件代码

  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.     

  5.         

  6.             

  7.                 

  8.                  valueChangeListener="#{myform.valueChangeProcess}" />    

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

  10.                 

  11.             

  12.         

  13.    

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;    

  • }    

  •     

  • }  

关于Java中怎么实现一个事件窃听器就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


网站标题:Java中怎么实现一个事件窃听器
分享链接:http://cxhlcq.com/article/iioeie.html

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部