KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sape > carbon > services > console > ConfigurationArrayDataEditorRenderer


1 package org.sape.carbon.services.console;
2
3 import java.lang.reflect.Array JavaDoc;
4
5 import javax.swing.JPanel JavaDoc;
6 import javax.swing.JTable JavaDoc;
7 import javax.swing.table.TableCellEditor JavaDoc;
8 import javax.swing.table.TableCellRenderer JavaDoc;
9
10 import org.sape.carbon.core.config.Config;
11 import org.sape.carbon.core.config.Configuration;
12
13 /**
14  *
15  * @author Greg Hinkle
16  */

17 public class ConfigurationArrayDataEditorRenderer extends JPanel JavaDoc
18     implements TableCellEditor JavaDoc, TableCellRenderer JavaDoc {
19         
20     private ObjectTreeModel.ArrayNode arrayNode;
21         
22     /** Creates new form ConfigurationArrayDataEditorRenderer */
23     public ConfigurationArrayDataEditorRenderer(ObjectTreeModel.ArrayNode arrayNode) {
24         this.arrayNode = arrayNode;
25         initComponents();
26     }
27     
28     /** This method is called from within the constructor to
29      * initialize the form.
30      * WARNING: Do NOT modify this code. The content of this method is
31      * always regenerated by the Form Editor.
32      */

33     private void initComponents() {//GEN-BEGIN:initComponents
34
java.awt.GridBagConstraints JavaDoc gridBagConstraints;
35
36         jButton1 = new javax.swing.JButton JavaDoc();
37
38         setLayout(new java.awt.BorderLayout JavaDoc());
39
40         setBackground(new java.awt.Color JavaDoc(255, 255, 255));
41         jButton1.setFont(new java.awt.Font JavaDoc("Dialog", 0, 10));
42         jButton1.setText("add");
43         jButton1.setMaximumSize(new java.awt.Dimension JavaDoc(52, 18));
44         jButton1.setMinimumSize(new java.awt.Dimension JavaDoc(52, 18));
45         jButton1.setPreferredSize(new java.awt.Dimension JavaDoc(52, 18));
46         jButton1.setRequestFocusEnabled(false);
47         jButton1.addActionListener(new java.awt.event.ActionListener JavaDoc() {
48             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
49                 jButton1ActionPerformed(evt);
50             }
51         });
52
53         add(jButton1, java.awt.BorderLayout.EAST);
54
55     }//GEN-END:initComponents
56

57     private void jButton1ActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButton1ActionPerformed
58
// Add your handling code here:
59
Object JavaDoc[] objects = (Object JavaDoc[])this.arrayNode.getValue();
60         
61         Object JavaDoc newArray =
62             java.lang.reflect.Array.newInstance(
63                 this.arrayNode.getValue().getClass().getComponentType(),
64                 objects.length + 1);
65         
66         System.arraycopy(objects,0,newArray,0,objects.length);
67
68         Class JavaDoc componentClass = objects.getClass().getComponentType();
69         if (Configuration.class.isAssignableFrom(componentClass)) {
70             Configuration config =
71                 Config.getInstance().createConfiguration(componentClass);
72             Array.set(newArray, objects.length, config);
73         }
74         
75         this.arrayNode.setValue(newArray);
76         
77     }//GEN-LAST:event_jButton1ActionPerformed
78

79     public void addCellEditorListener(javax.swing.event.CellEditorListener JavaDoc cellEditorListener) {
80     }
81     
82     public void cancelCellEditing() {
83     }
84     
85     public Object JavaDoc getCellEditorValue() {
86         return this.arrayNode.getArray();
87     }
88     
89     public java.awt.Component JavaDoc getTableCellEditorComponent(javax.swing.JTable JavaDoc jTable, Object JavaDoc obj, boolean param, int param3, int param4) {
90         System.out.println("Editing Array!: " + obj.getClass().getName());
91         this.arrayNode = (ObjectTreeModel.ArrayNode)obj;
92         return this;
93     }
94     
95     public boolean isCellEditable(java.util.EventObject JavaDoc eventObject) {
96         return true;
97     }
98     
99     public void removeCellEditorListener(javax.swing.event.CellEditorListener JavaDoc cellEditorListener) {
100     }
101     
102     public boolean shouldSelectCell(java.util.EventObject JavaDoc eventObject) {
103         return true;
104     }
105     
106     public boolean stopCellEditing() {
107         return true;
108     }
109     
110     public java.awt.Component JavaDoc getTableCellRendererComponent(JTable JavaDoc table,
111         Object JavaDoc value, boolean isSelected, boolean hasFocus,
112         int row, int column) {
113         
114         this.arrayNode = (ObjectTreeModel.ArrayNode) value;
115         
116         return this;
117     }
118     
119     // Variables declaration - do not modify//GEN-BEGIN:variables
120
private javax.swing.JButton JavaDoc jButton1;
121     // End of variables declaration//GEN-END:variables
122

123 }
124
Popular Tags