博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
swing之JButton简单封装
阅读量:6190 次
发布时间:2019-06-21

本文共 2572 字,大约阅读时间需要 8 分钟。

View Code
1 package com.copy.util; 2  3 import java.awt.Color; 4 import java.awt.event.ActionEvent; 5 import java.awt.event.ActionListener; 6 import java.lang.reflect.InvocationTargetException; 7 import java.lang.reflect.Method; 8  9 import javax.swing.JButton;10 11 public class ButtonHandler extends JButton{12     private String name ;13     private String method;14     private Object obj;//组建所在窗体对象15     16     public ButtonHandler( Object obj, String name, String method) {17         this.setText(name);18         this.name = name;19         this.method = method;20         this.obj = obj;21 //        this.setBackground(Color.green);22         getMethodByName(name);23     }24     25     public void setFontgroundColor(Color c){26         this.setForeground(c);27     }28     public void  setBackgroundColor(Color c){29         this.setBackground(c);30     }31     32     public void getMethodByName(final String name){33         34             this.addActionListener(new ActionListener() {35                 36                 @Override37                 public void actionPerformed(ActionEvent e) {38                     39                     try {40                         Class objClass = obj.getClass();41                         Method md;42                         md = objClass.getMethod(method, null);43                         md.invoke(objClass.newInstance(), null);44                     } catch (SecurityException e1) {45                         // TODO Auto-generated catch block46                         e1.printStackTrace();47                     } catch (IllegalArgumentException e1) {48                         // TODO Auto-generated catch block49                         e1.printStackTrace();50                     } catch (NoSuchMethodException e1) {51                         // TODO Auto-generated catch block52                         e1.printStackTrace();53                     } catch (IllegalAccessException e1) {54                         // TODO Auto-generated catch block55                         e1.printStackTrace();56                     } catch (InvocationTargetException e1) {57                         // TODO Auto-generated catch block58                         e1.printStackTrace();59                     } catch (InstantiationException e1) {60                         // TODO Auto-generated catch block61                         e1.printStackTrace();62                     }63                     64                 }65             });66     }67     68 }

 

转载于:https://www.cnblogs.com/FCWORLD/archive/2012/09/12/2681581.html

你可能感兴趣的文章
关于交流电路的谐振等问题
查看>>
数据库接口实验--php实现--
查看>>
3.1_SpringBoot内部处理机制解析
查看>>
第八周项目4-个人所得税计算器
查看>>
第二十四周项目3-动态链表体验
查看>>
delphi 10.3.1 android沉浸式透明状态栏
查看>>
初学Linux笔记
查看>>
ON DUPLICATE KEY UPDATE重复插入时更新
查看>>
纯真IP库详解(转)
查看>>
org_chart.js 使用方法
查看>>
js querySelector与getElementById
查看>>
CentOS6.5下安装Open vSwitch
查看>>
angular指令中的scope的详解
查看>>
Goldbach`s Conjecture(素筛水题)题解
查看>>
C#程序通过模板自动创建Word文档
查看>>
python三大神器之生成器
查看>>
mysql 帮助文档使用
查看>>
杭电2053
查看>>
win7 mysql 启动 问题
查看>>
[JavaScript] 怎么使用JS禁止复制粘贴
查看>>