当前位置: 网学 > 编程文档 > JAVA > 正文

反射在Java Swing中的应用

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式
java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.lang.reflect.Method;
 
/**
 *该类是用来处理所有的Swing按钮点击事件,并根据将处理权<br>
 *转交给使用者来处理
 *
 *@authorChen.yu
 *
 */
publicclass EventHandlerimplements ActionListener {
    
    //组件所在的窗体对象
    private Object form = null;
    
    //受到委托的方法名
    private String methodName = null;
    
    /**
     *构造函数
     *
     *@paramform           组件所在的窗体对象
     *@parammethodName     受到委托的方法名
     */
    public EventHandler(Object form,String methodName) {
        this.form = form;
        this.methodName = methodName;
    }
    
    /**
     *事件处理委托方法
     */
    publicvoid actionPerformed(ActionEvent e) {
        
        //得到窗体对象的类型
        Class formType = this.form.getClass();
        
        try {
            //得到指定委托方法的类型 
            Method method = 
                formType.getMethod(this.methodName, new Class {e.getClass()});
            //调用指定的方法
            method.invoke(this.form, new Object {e});
            
        }catch(Exception ex) {
            
            return;
        }       
    
    }
 
}
现在我们来编写一个测试程序,代码如下: 
btnSearch.addActionListener(
new EventHandler(this,"btnSearch_Click"));
 
public void btnSearch
  • 下一篇资讯: JAVA元数据注释初探
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号