1 package org.sape.carbon.services.console; 2 3 4 import java.awt.Color ; 5 import java.io.ByteArrayOutputStream ; 6 7 import javax.swing.JInternalFrame ; 8 import javax.swing.table.DefaultTableColumnModel ; 9 import javax.swing.table.TableColumn ; 10 11 import org.sape.carbon.core.config.Config; 12 import org.sape.carbon.core.config.Configuration; 13 import org.sape.carbon.core.config.format.DefaultConfigurationFormatService; 14 import org.sape.carbon.services.swing.treetable.JTreeTable; 15 16 24 public class ObjectFrame extends JInternalFrame { 25 26 protected Configuration config; 27 28 29 public ObjectFrame(Configuration config) { 30 System.out.println("Showing ObjectFrame for [" + config.getConfigurationName() + "]"); 31 this.config = config; 32 initComponents(); 33 34 loadTree(); 35 loadXMLPane(); 36 this.setTitle(config.getConfigurationName()); 37 } 38 39 40 41 42 43 44 45 private void loadTree() { 46 47 ObjectTreeModel treeTableModel = new ObjectTreeModel(config); 48 this.treeTable = new JTreeTable(treeTableModel); 49 this.jScrollPane1.setViewportView(this.treeTable); 50 51 DefaultTableColumnModel cm = new DefaultTableColumnModel (); 52 TableColumn cName, cValue, cEdit; 53 cName = new TableColumn (0, 150); 54 cName.setHeaderValue("Name"); 55 cValue = new TableColumn (1,200); 56 cValue.setHeaderValue("Value"); 57 cEdit = new TableColumn (2,80); 58 cEdit.setHeaderValue("Type"); 59 61 cm.addColumn(cName); 62 cm.addColumn(cValue); 63 cm.addColumn(cEdit); 64 65 this.treeTable.setColumnModel(cm); 66 this.treeTable.getColumnModel(). 67 getColumn(1).setCellRenderer( 68 new ConfigurationDataRenderer()); 69 this.treeTable.getColumnModel(). 70 getColumn(1).setCellEditor( 71 new ConfigurationDataEditor()); 72 75 77 this.treeTable.setRowHeight(22); 78 this.jScrollPane1.getComponent(0).setBackground(Color.white); 79 this.jScrollPane1.repaint(); 80 } 81 82 private void loadXMLPane() { 83 84 try { 85 ByteArrayOutputStream baos = 86 new ByteArrayOutputStream (32000); 87 88 DefaultConfigurationFormatService dcfs = new DefaultConfigurationFormatService(); 89 dcfs.writeConfigurationStream(this.config,baos); 90 91 this.XmlViewJEditorPane.setText(baos.toString("ISO-8859-1")); 92 93 } catch (Exception e) { 94 95 this.XmlViewJEditorPane.setText(e.toString()); 96 97 } 98 } 99 100 105 private void initComponents() { ObjectViewJTabbedPane = new javax.swing.JTabbedPane (); 107 jScrollPane1 = new javax.swing.JScrollPane (); 108 jScrollPane2 = new javax.swing.JScrollPane (); 109 XmlViewJEditorPane = new javax.swing.JEditorPane (); 110 topPanel = new javax.swing.JPanel (); 111 jButton1 = new javax.swing.JButton (); 112 jButton2 = new javax.swing.JButton (); 113 114 setClosable(true); 115 setIconifiable(true); 116 setMaximizable(true); 117 setResizable(true); 118 setPreferredSize(new java.awt.Dimension (225, 406)); 119 ObjectViewJTabbedPane.setBackground(new java.awt.Color (204, 204, 204)); 120 jScrollPane1.setBackground(new java.awt.Color (255, 255, 255)); 121 ObjectViewJTabbedPane.addTab("Object View", jScrollPane1); 122 123 XmlViewJEditorPane.setFont(new java.awt.Font ("Courier New", 0, 12)); 124 jScrollPane2.setViewportView(XmlViewJEditorPane); 125 126 ObjectViewJTabbedPane.addTab("XML View", jScrollPane2); 127 128 getContentPane().add(ObjectViewJTabbedPane, java.awt.BorderLayout.CENTER); 129 130 jButton1.setText("Save"); 131 jButton1.addActionListener(new java.awt.event.ActionListener () { 132 public void actionPerformed(java.awt.event.ActionEvent evt) { 133 jButton1ActionPerformed(evt); 134 } 135 }); 136 137 topPanel.add(jButton1); 138 139 jButton2.setText("Refresh"); 140 jButton2.addActionListener(new java.awt.event.ActionListener () { 141 public void actionPerformed(java.awt.event.ActionEvent evt) { 142 jButton2ActionPerformed(evt); 143 } 144 }); 145 146 topPanel.add(jButton2); 147 148 getContentPane().add(topPanel, java.awt.BorderLayout.NORTH); 149 150 pack(); 151 } 153 private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { this.loadXMLPane(); 156 } 158 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { try { 161 Config.getInstance().storeConfiguration(this.config.getConfigurationName(),this.config); 162 this.loadXMLPane(); 163 } catch (Exception e) { 164 e.printStackTrace(); 165 } 166 } 168 private void parameterTablePropertyChange(java.beans.PropertyChangeEvent evt) { } 171 private void jSplitPane1InputMethodTextChanged(java.awt.event.InputMethodEvent evt) { System.out.println("Changed: " + evt.getSource()); 174 System.out.println("To: " + evt.getText()); 175 } 177 private void objectTreeValueChanged(javax.swing.event.TreeSelectionEvent evt) { } 180 181 private javax.swing.JButton jButton2; 183 private javax.swing.JButton jButton1; 184 private javax.swing.JScrollPane jScrollPane2; 185 private javax.swing.JScrollPane jScrollPane1; 186 private javax.swing.JPanel topPanel; 187 private javax.swing.JEditorPane XmlViewJEditorPane; 188 private javax.swing.JTabbedPane ObjectViewJTabbedPane; 189 private JTreeTable treeTable; 191 } 192 | Popular Tags |