1 19 24 25 package org.netbeans.modules.j2ee.sun.ide.sunresources.wizards; 26 27 import org.openide.util.NbBundle; 28 import java.util.ResourceBundle ; 29 import java.util.ArrayList ; 30 import javax.swing.*; 31 import javax.swing.event.ChangeListener ; 32 33 import org.netbeans.modules.j2ee.sun.sunresources.beans.Field; 34 import org.netbeans.modules.j2ee.sun.sunresources.beans.FieldGroup; 35 import org.netbeans.modules.j2ee.sun.sunresources.beans.WizardConstants; 36 import org.netbeans.modules.j2ee.sun.sunresources.beans.FieldHelper; 37 38 42 public class CommonGeneralFinishVisualPanel extends javax.swing.JPanel implements ChangeListener , WizardConstants { 43 44 48 49 public static final String TYPE_JMS_RESOURCE = "_JMS"; public static final String TYPE_MAIL_RESOUCE = "_MAIL"; 52 protected ResourceBundle bundle = NbBundle.getBundle("org.netbeans.modules.j2ee.sun.ide.sunresources.wizards.Bundle"); 54 protected final CommonGeneralFinishPanel panel; 55 protected FieldGroup[] groups; 56 protected int fieldSize; 57 protected ResourceConfigHelper helper; 58 protected String panelType = TYPE_JMS_RESOURCE; 59 protected ArrayList beans = new ArrayList (); 60 protected boolean createNewResource = false; 61 62 protected javax.swing.JTextArea descriptionTextArea = null; 64 protected javax.swing.JPanel jPanel1[] = null; 65 protected javax.swing.JLabel jLabels[] = null; 66 protected javax.swing.JComponent jFields[] = null; 67 protected Field fields[] = null; 68 protected String resourceName; 69 protected boolean showGroupTitle = false; 70 71 private javax.swing.JPanel jPanel0; 73 private boolean firstTime = true; 74 private int y = 0; 75 76 77 public CommonGeneralFinishVisualPanel(CommonGeneralFinishPanel panel, FieldGroup[] groups, String panelType) { 78 this.firstTime = true; 79 this.panel = panel; 80 this.helper = panel.getHelper(); 81 this.resourceName = panel.getResourceName(); 82 setFieldGroups(groups); 83 if (groups.length > 1) 84 this.showGroupTitle = true; 85 86 setLayout(new java.awt.GridBagLayout ()); 87 initDescriptionComponent(); 88 89 90 setPanelType(panelType); 91 initComponents(); 92 93 refreshFields(); 94 setName(NbBundle.getMessage(CommonGeneralFinishVisualPanel.class, "TITLE_" + groups[0].getName())); getAccessibleContext().setAccessibleName(bundle.getString("TITLE_" + groups[0].getName())); 97 getAccessibleContext().setAccessibleDescription(bundle.getString("mail-resource_Description")); 98 this.firstTime = false; 99 } 100 101 public void setFieldGroups(FieldGroup[] groups) { 102 this.groups = groups; 103 fieldSize = 0; 104 for (int i = 0; i < groups.length; i++) { 105 fieldSize += groups[i].sizeField(); 106 } 107 } 108 109 114 private void initComponents() { 115 java.awt.GridBagConstraints gridBagConstraints; 116 117 int gap = 0; 118 int itemHeight = 28; 119 if (fieldSize < 6) { 120 itemHeight = 42; 121 gap = 7; 122 } 123 int i = 0; 124 jPanel1 = new JPanel[groups.length]; 125 fields = new Field[fieldSize]; 126 jLabels = new JLabel[fieldSize]; 127 jFields = new JComponent[fieldSize]; 128 129 for (int j = 0; j < groups.length; j++) { 130 if (showGroupTitle) { 131 JLabel label = new JLabel(); 132 label.setText(bundle.getString("LBL_GROUP_" + groups[j].getName())); label.getAccessibleContext().setAccessibleDescription(bundle.getString("ACS_LBL_GROUP_" + groups[j].getName() + "A11yDesc")); gridBagConstraints = new java.awt.GridBagConstraints (); 135 gridBagConstraints.gridx = 0; 136 gridBagConstraints.gridy = this.y; this.y++; 137 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 138 gridBagConstraints.ipadx = 0; 139 gridBagConstraints.insets = new java.awt.Insets (5, 0, 0, 11); 140 add(label, gridBagConstraints); 141 } 142 143 Field[] flds = groups[j].getField(); 144 int size = flds.length; 145 jPanel1[j] = new javax.swing.JPanel (); 146 jPanel1[j].setLayout(new java.awt.GridBagLayout ()); 147 148 jPanel1[j].setMaximumSize(new java.awt.Dimension (480, itemHeight * size)); 149 jPanel1[j].setMinimumSize(new java.awt.Dimension (480, itemHeight * size)); 150 jPanel1[j].setPreferredSize(new java.awt.Dimension (480, itemHeight * size)); 151 152 153 for (int k = 0; k < size; k++) { 154 fields[i] = flds[k]; 155 JLabel jLabel = new JLabel(); 156 jLabel.setText(bundle.getString("LBL_" + fields[i].getName())); jLabel.setDisplayedMnemonic(bundle.getString("LBL_" + fields[i].getName() + "_Mnemonic").charAt(0)); gridBagConstraints = new java.awt.GridBagConstraints (); 159 gridBagConstraints.gridx = 0; 160 gridBagConstraints.gridy = k; 161 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 162 gridBagConstraints.ipadx = 0; 163 gridBagConstraints.insets = new java.awt.Insets (2, 12, gap, 0); 164 jLabels[i] = jLabel; 165 jPanel1[j].add(jLabels[i], gridBagConstraints); 166 167 if (FieldHelper.isList(fields[i])) { 168 JComboBox jComboBox = new JComboBox(); 169 jLabel.setLabelFor(jComboBox); 170 jComboBox.getAccessibleContext().setAccessibleDescription(bundle.getString("ToolTip_" + fields[i].getName())); 171 String tags[] = FieldHelper.getTags(fields[i]); 172 for (int h = 0; h < tags.length; h++) { 173 jComboBox.addItem(tags[h]); 174 } 175 final int index = i; 176 jComboBox.addActionListener(new java.awt.event.ActionListener () { 177 public void actionPerformed(java.awt.event.ActionEvent evt) { 178 jComboBoxActionPerformed(evt, index); 179 } 180 }); 181 gridBagConstraints = new java.awt.GridBagConstraints (); 182 gridBagConstraints.gridx = 1; 183 gridBagConstraints.gridy = k; 184 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 185 gridBagConstraints.insets = new java.awt.Insets (2, 20, gap, 0); 186 gridBagConstraints.weightx = 1.0; 187 jFields[i] = jComboBox; 188 jPanel1[j].add(jComboBox, gridBagConstraints); 189 } else { 190 JTextField jTextField = new JTextField(); 191 jTextField.setText("jTextField1"); jLabel.setLabelFor(jTextField); 193 jTextField.getAccessibleContext().setAccessibleDescription(bundle.getString("ToolTip_" + fields[i].getName())); 194 jTextField.setToolTipText(bundle.getString("ToolTip_" + fields[i].getName())); jTextField.setMinimumSize(new java.awt.Dimension (340, 21)); 196 jTextField.setPreferredSize(new java.awt.Dimension (340, 21)); 197 final int index = i; 198 205 jTextField.addKeyListener(new java.awt.event.KeyAdapter () { 206 public void keyReleased(java.awt.event.KeyEvent evt) { 207 jTextField1KeyReleased(evt, index); 208 } 209 }); 210 gridBagConstraints = new java.awt.GridBagConstraints (); 211 gridBagConstraints.gridx = 1; 212 gridBagConstraints.gridy = k; 213 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 214 gridBagConstraints.insets = new java.awt.Insets (2, 20, gap, 0); 215 jFields[i] = jTextField; 216 jPanel1[j].add(jTextField, gridBagConstraints); 217 } 218 i++; 219 } 220 221 gridBagConstraints = new java.awt.GridBagConstraints (); 222 gridBagConstraints.gridx = 0; 223 gridBagConstraints.gridy = this.y; this.y++; 224 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 225 gridBagConstraints.insets = new java.awt.Insets (5, 0, 10, 11); 226 jPanel1[j].setBorder(new javax.swing.border.EtchedBorder ()); 227 add(jPanel1[j], gridBagConstraints); 228 } 229 } 230 231 private void initDescriptionComponent() { 232 java.awt.GridBagConstraints gridBagConstraints; 233 234 descriptionTextArea = new javax.swing.JTextArea (); 235 descriptionTextArea.setEditable(false); 236 descriptionTextArea.setFont(javax.swing.UIManager.getFont("Label.font")); descriptionTextArea.setText(bundle.getString(this.resourceName + "_Description")); descriptionTextArea.setDisabledTextColor(javax.swing.UIManager.getColor("Label.foreground")); descriptionTextArea.setRequestFocusEnabled(false); 240 descriptionTextArea.setEnabled(false); 241 descriptionTextArea.setOpaque(false); 242 gridBagConstraints = new java.awt.GridBagConstraints (); 243 gridBagConstraints.gridx = 0; 244 gridBagConstraints.gridy = this.y; this.y++; 245 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 246 gridBagConstraints.weightx = 1.0; 247 gridBagConstraints.weighty = 0.0; 248 gridBagConstraints.insets = new java.awt.Insets (12, 12, 20, 11); 249 add(descriptionTextArea, gridBagConstraints); 250 } 251 252 253 254 protected String getPanelType() { 255 return panelType; 256 } 257 258 protected void setPanelType(String type) { 259 this.panelType = type; 260 } 261 262 263 public void stateChanged(final javax.swing.event.ChangeEvent p1) { 264 } 265 266 public boolean createNew() { 267 return createNewResource; 268 } 269 270 public void refreshFields() { 271 ResourceConfigData data = this.helper.getData(); 272 for (int i = 0; i < jFields.length; i++) { 273 String item; 274 if (FieldHelper.isList(fields[i])) { 275 item = (String )((JComboBox)jFields[i]).getSelectedItem(); 276 } else { 277 item = (String )((JTextField)jFields[i]).getText(); 278 } 279 String fieldName = fields[i].getName(); 280 Object value = data.get(fieldName); 281 if (value == null) { 282 value = FieldHelper.getDefaultValue(fields[i]); 283 data.set(fieldName, value); 284 } 285 String val = (String )value; 286 if (!item.equals(val)) { 287 if (FieldHelper.isList(fields[i])) { 288 ((JComboBox)jFields[i]).setSelectedItem(val); 289 } else { 290 ((JTextField)jFields[i]).setText(val); 291 } 292 } 293 } 294 } 295 296 private void jComboBoxActionPerformed(java.awt.event.ActionEvent evt, int index) { 297 ResourceConfigData data = this.helper.getData(); 298 String item = (String )((JComboBox)jFields[index]).getSelectedItem(); 299 String fieldName = fields[index].getName(); 300 String val = data.getString(fieldName); 301 if (!item.equals(val)) 302 data.setString(fieldName, item); 303 } 304 305 private void jTextField1KeyReleased(java.awt.event.KeyEvent evt, int index) { 306 ResourceConfigData data = this.helper.getData(); 307 String item = (String )((JTextField)jFields[index]).getText(); 308 String fieldName = fields[index].getName(); 309 String val = data.getString(fieldName); 310 if (FieldHelper.isInt(fields[index])) { 311 try { 312 Integer.parseInt(item); 313 } catch (NumberFormatException ex) { 314 JOptionPane.showMessageDialog(this, bundle.getString("MSG_NotNumber")); if (val == null || val.length() == 0) 316 val = FieldHelper.getDefaultValue(fields[index]); 317 ((JTextField)jFields[index]).setText(val); 318 return; 319 } 320 } 321 String jLabel = (String )this.jLabels[index].getText(); 322 if (!item.equals(val) && jLabel.equals(bundle.getString("LBL_" + __JndiName)) ) { 324 data.setString(fieldName, item); 326 } 327 if (!item.equals(val)){ 328 data.setString(fieldName, item); 329 } 331 panel.fireChange(evt.getSource()); 332 } 333 334 public CommonGeneralFinishVisualPanel setFirstTime(boolean first) { 335 this.firstTime = first; 336 return this; 337 } 338 339 public void initData() { 340 refreshFields(); 341 } 342 343 public void setHelper(ResourceConfigHelper helper){ 344 this.helper = helper; 345 this.helper.getData().setString("jndi-name", helper.getData().getTargetFile()); refreshFields(); 347 } 348 } 349 | Popular Tags |