1 32 33 package it.businesslogic.ireport.gui.sheet; 34 import java.util.*; 35 import javax.swing.*; 36 40 public class SheetPanel extends javax.swing.JPanel { 41 42 private java.util.Vector properties; 43 44 public SheetPanel() { 45 initComponents(); 46 properties = new Vector(); 47 48 } 49 50 public java.util.Properties getPropertiesValues() 51 { 52 java.util.Properties prop = new java.util.Properties (); 53 54 for (int i=0; i<getProperties().size(); ++i) 55 { 56 SheetProperty sp = (SheetProperty)getProperties().elementAt(i); 57 Object value = ""; 58 value = getPropertyValue(i); 59 if (value != null) 60 { 61 prop.setProperty(sp.getKeyName(), value+""); 62 } 63 } 64 return prop; 65 } 66 67 public void setPropertiesValues(java.util.Properties prop) 68 { 69 Enumeration enum_keys = prop.keys(); 70 while (enum_keys.hasMoreElements()) 71 { 72 String key = (String )enum_keys.nextElement(); 73 for (int i=0; i<getProperties().size(); ++i) 75 { 76 SheetProperty sp = (SheetProperty)getProperties().elementAt(i); 77 if (sp.getKeyName().equals(key) ) 78 { 79 String value = prop.getProperty(key); 80 sp.setEditorValue( (javax.swing.JComponent )jPanelEditors.getComponent((2*i) +1 ), value ); 81 } 82 } 83 } 84 } 85 86 public Object getPropertyValue(int index) 87 { 88 SheetProperty sp = (SheetProperty)getProperties().elementAt(index); 89 return sp.getEditorValue( (javax.swing.JComponent )jPanelEditors.getComponent((2*index) +1 ) ); 90 } 91 92 public void removeAllProperties() 93 { 94 getProperties().removeAllElements(); 95 jPanelLabels.removeAll(); 96 jPanelEditors.removeAll(); 97 jPanelLabels.setLayout(new java.awt.GridBagLayout ()); 98 jPanelEditors.setLayout(new java.awt.GridBagLayout ()); 99 java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints (); 100 gridBagConstraints.gridx = 0; 101 gridBagConstraints.gridy = 400; 102 gridBagConstraints.weighty = 1.0; 103 104 jPanelEditors.add(jPanelFillerEditors, gridBagConstraints); 105 jPanelLabels.add(jPanelFillerLabels, gridBagConstraints); 106 107 jPanelEditors.setMinimumSize( new java.awt.Dimension (50,0) ); 108 jPanelLabels.setMinimumSize(new java.awt.Dimension (50,0)); 109 jPanelLabels.updateUI(); 110 jPanelEditors.updateUI(); 111 jScrollPane1.updateUI(); 112 } 113 114 public void addSheetProperty(SheetProperty sp) 115 { 116 properties.add(sp); 117 118 JLabel jLabel = new JLabel(sp.getName()); 119 jLabel.setMaximumSize(new java.awt.Dimension (41, 18)); 120 jLabel.setMinimumSize(new java.awt.Dimension (41, 18)); 121 jLabel.setPreferredSize(new java.awt.Dimension (41, 18)); 122 java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints (); 123 gridBagConstraints.gridx = 0; 124 gridBagConstraints.gridy = (properties.size()-1)*2; 125 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 126 gridBagConstraints.weightx = 1.0; 127 gridBagConstraints.insets = new java.awt.Insets (0, 2, 0, 2); 128 129 jPanelLabels.add(jLabel, gridBagConstraints); 130 131 132 javax.swing.JComponent editor = sp.getEditor(); 133 editor.setOpaque(false); 134 editor.setBackground( java.awt.Color.WHITE); 135 editor.setMaximumSize(new java.awt.Dimension (41, 18)); 136 editor.setMinimumSize(new java.awt.Dimension (41, 18)); 137 editor.setPreferredSize(new java.awt.Dimension (41, 18)); 138 139 if (editor instanceof JComboBox || editor instanceof ColorSelectorPanel) 140 { 141 gridBagConstraints.insets = new java.awt.Insets (0, 0, 0, 0); 142 } 143 jPanelEditors.add(editor, gridBagConstraints); 144 145 146 JSeparator jSeparator = new JSeparator(JSeparator.HORIZONTAL); 147 jSeparator.setPreferredSize(new java.awt.Dimension (0, 1)); 148 JSeparator jSeparator1 = new JSeparator(JSeparator.HORIZONTAL); 149 jSeparator1.setPreferredSize(new java.awt.Dimension (0, 1)); 150 gridBagConstraints = new java.awt.GridBagConstraints (); 151 gridBagConstraints.gridx = 0; 152 gridBagConstraints.gridy = (properties.size()*2)-1; 153 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 154 155 jPanelLabels.add(jSeparator, gridBagConstraints); 156 jPanelEditors.add(jSeparator1, gridBagConstraints); 157 158 jPanelLabels.setMinimumSize(new java.awt.Dimension (30, 20*properties.size())); 159 jPanelLabels.setPreferredSize(new java.awt.Dimension (30, 20*properties.size())); 160 jPanelEditors.setMinimumSize(new java.awt.Dimension (30, 20*properties.size())); 161 jPanelEditors.setPreferredSize(new java.awt.Dimension (30, 20*properties.size())); 162 163 jPanelLabels.updateUI(); 164 jScrollPane1.updateUI(); 165 } 166 167 public java.util.Vector getProperties() { 168 return properties; 169 } 170 171 public void setProperties(java.util.Vector properties) { 172 this.properties = properties; 173 } 174 175 180 private void initComponents() { java.awt.GridBagConstraints gridBagConstraints; 182 183 jScrollPane1 = new javax.swing.JScrollPane (); 184 jPanelSheet = new javax.swing.JPanel (); 185 jPanel1 = new javax.swing.JPanel (); 186 jSplitPane1 = new javax.swing.JSplitPane (); 187 jPanelLabels = new javax.swing.JPanel (); 188 jPanelFillerLabels = new javax.swing.JPanel (); 189 jPanelEditors = new javax.swing.JPanel (); 190 jPanelFillerEditors = new javax.swing.JPanel (); 191 192 setLayout(new java.awt.BorderLayout ()); 193 194 setBackground(new java.awt.Color (255, 255, 255)); 195 jScrollPane1.setBackground(new java.awt.Color (255, 255, 255)); 196 jScrollPane1.setOpaque(false); 197 jPanelSheet.setLayout(new java.awt.GridBagLayout ()); 198 199 jPanelSheet.setBackground(new java.awt.Color (255, 255, 255)); 200 jPanel1.setLayout(new java.awt.GridBagLayout ()); 201 202 jPanel1.setMaximumSize(new java.awt.Dimension (16, 2147483647)); 203 jPanel1.setMinimumSize(new java.awt.Dimension (16, 20)); 204 jPanel1.setPreferredSize(new java.awt.Dimension (16, 0)); 205 gridBagConstraints = new java.awt.GridBagConstraints (); 206 gridBagConstraints.gridx = 0; 207 gridBagConstraints.gridy = 0; 208 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 209 jPanelSheet.add(jPanel1, gridBagConstraints); 210 211 jSplitPane1.setBackground(new java.awt.Color (255, 255, 255)); 212 jSplitPane1.setBorder(null); 213 jSplitPane1.setDividerSize(1); 214 jSplitPane1.setResizeWeight(0.5); 215 jSplitPane1.setContinuousLayout(true); 216 jPanelLabels.setLayout(new java.awt.GridBagLayout ()); 217 218 jPanelLabels.setBackground(new java.awt.Color (255, 255, 255)); 219 jPanelLabels.setMinimumSize(new java.awt.Dimension (100, 10)); 220 jPanelLabels.setPreferredSize(new java.awt.Dimension (100, 10)); 221 jPanelFillerLabels.setMinimumSize(new java.awt.Dimension (10, 0)); 222 jPanelFillerLabels.setPreferredSize(new java.awt.Dimension (10, 0)); 223 gridBagConstraints = new java.awt.GridBagConstraints (); 224 gridBagConstraints.gridx = 0; 225 gridBagConstraints.gridy = 400; 226 gridBagConstraints.weighty = 1.0; 227 jPanelLabels.add(jPanelFillerLabels, gridBagConstraints); 228 229 jSplitPane1.setLeftComponent(jPanelLabels); 230 231 jPanelEditors.setLayout(new java.awt.GridBagLayout ()); 232 233 jPanelEditors.setBackground(new java.awt.Color (255, 255, 255)); 234 jPanelFillerEditors.setMinimumSize(new java.awt.Dimension (10, 0)); 235 jPanelFillerEditors.setPreferredSize(new java.awt.Dimension (10, 0)); 236 gridBagConstraints = new java.awt.GridBagConstraints (); 237 gridBagConstraints.gridx = 0; 238 gridBagConstraints.gridy = 400; 239 gridBagConstraints.weighty = 1.0; 240 jPanelEditors.add(jPanelFillerEditors, gridBagConstraints); 241 242 jSplitPane1.setRightComponent(jPanelEditors); 243 244 gridBagConstraints = new java.awt.GridBagConstraints (); 245 gridBagConstraints.gridx = 1; 246 gridBagConstraints.gridy = 0; 247 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 248 gridBagConstraints.weightx = 1.0; 249 gridBagConstraints.weighty = 1.0; 250 jPanelSheet.add(jSplitPane1, gridBagConstraints); 251 252 jScrollPane1.setViewportView(jPanelSheet); 253 254 add(jScrollPane1, java.awt.BorderLayout.CENTER); 255 256 } 258 259 private javax.swing.JPanel jPanel1; 261 private javax.swing.JPanel jPanelEditors; 262 private javax.swing.JPanel jPanelFillerEditors; 263 private javax.swing.JPanel jPanelFillerLabels; 264 private javax.swing.JPanel jPanelLabels; 265 private javax.swing.JPanel jPanelSheet; 266 private javax.swing.JScrollPane jScrollPane1; 267 private javax.swing.JSplitPane jSplitPane1; 268 270 } 271 | Popular Tags |