您的位置:首页 > 其它

swing之JButton简单封装

2016-01-15 00:00 330 查看




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  @Override 37                 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 block
46  e1.printStackTrace(); 47                     } catch (IllegalArgumentException e1) { 48                         // TODO Auto-generated catch block
49  e1.printStackTrace(); 50                     } catch (NoSuchMethodException e1) { 51                         // TODO Auto-generated catch block
52  e1.printStackTrace(); 53                     } catch (IllegalAccessException e1) { 54                         // TODO Auto-generated catch block
55  e1.printStackTrace(); 56                     } catch (InvocationTargetException e1) { 57                         // TODO Auto-generated catch block
58  e1.printStackTrace(); 59                     } catch (InstantiationException e1) { 60                         // TODO Auto-generated catch block
61  e1.printStackTrace(); 62  } 63
64  } 65  }); 66  } 67
68 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: