1 package org.ozoneDB.adminGui.widget; 8 9 import java.awt.Dimension ; 10 import java.awt.GridBagConstraints ; 11 import java.awt.GridBagLayout ; 12 import java.awt.Insets ; 13 import java.awt.event.ActionEvent ; 14 import java.awt.event.ActionListener ; 15 import javax.swing.JButton ; 16 import javax.swing.JPanel ; 17 import javax.swing.event.EventListenerList ; 18 19 20 30 32 public class ButtonPanel extends JPanel { 33 34 35 protected EventListenerList listenerList = new EventListenerList (); 36 37 38 41 private ButtonPanel() { 42 } 43 44 49 public ButtonPanel(String [] buttonName) { 50 super(); 51 52 if (buttonName != null) 54 init(buttonName); 55 } 56 57 62 private void init(final String [] buttonName) { 63 64 this.setLayout(new GridBagLayout ()); 66 67 JButton [] button = new JButton [buttonName.length]; 69 70 for (int i = 0; i < buttonName.length; i++) { 72 final String name = buttonName[i].toString(); 73 button[i] = new JButton (name); 74 button[i].setPreferredSize(new Dimension (80, 27)); 75 button[i].setDefaultCapable(true); 76 77 button[i].addActionListener(new ActionListener () { 78 public void actionPerformed(ActionEvent e) { 79 fireExecute(name); 80 } 81 }); 82 83 this.add(button[i], 84 new GridBagConstraints (i, 0, 1, 1, 0.0, 0.0, 85 GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, 86 new Insets (10, 10, 15, 10), 0, 0)); 87 } 88 } 89 90 95 public void addConnectionListener(ButtonPanelListener listener) { 96 listenerList.add(ButtonPanelListener.class, listener); 97 } 98 99 104 public void removeConnectionListener(ButtonPanelListener listener) { 105 listenerList.remove(ButtonPanelListener.class, listener); 106 } 107 108 113 private void fireExecute(String buttonName) { 114 Object [] listeners = listenerList.getListenerList(); 115 116 for (int i = 0; i < listeners.length; i += 2) { 119 if (listeners[i] == ButtonPanelListener.class) { 120 ((ButtonPanelListener) listeners[i + 1]).buttonExecute(buttonName); 121 } 122 } 123 } 124 125 } | Popular Tags |