1 19 package org.netbeans.modules.j2ee.sun.ide.j2ee.ui; 20 21 import java.io.File ; 22 import java.util.HashSet ; 23 import java.util.Iterator ; 24 import java.util.Set ; 25 import javax.swing.JFileChooser ; 26 import javax.swing.JPanel ; 27 import javax.swing.event.ChangeEvent ; 28 import javax.swing.event.ChangeListener ; 29 import javax.swing.event.DocumentEvent ; 30 import javax.swing.event.DocumentListener ; 31 import org.openide.filesystems.FileUtil; 32 import org.openide.util.NbBundle; 33 34 public final class AddInstanceVisualDirectoryPanel extends JPanel { 35 36 private boolean createPersonalInstance; 37 38 41 public AddInstanceVisualDirectoryPanel(boolean createPersonalInstance) { 42 initComponents(); 43 setAdminPort(AddDomainWizardIterator.BLANK); 44 this.createPersonalInstance = createPersonalInstance; 45 if (createPersonalInstance) { 46 description.setText( 47 NbBundle.getMessage(AddInstanceVisualDirectoryPanel.class, 48 "TXT_instanceDirectoryDescription2")); 49 } 50 adminPortLabel.setVisible(!createPersonalInstance); 51 adminPortDisplay.setVisible(!createPersonalInstance); 52 53 instanceDirectory.getDocument().addDocumentListener(new DocumentListener () { 54 public void changedUpdate(DocumentEvent e) { 55 locationChanged(); 56 } 57 public void insertUpdate(DocumentEvent e) { 58 locationChanged(); 59 } 60 public void removeUpdate(DocumentEvent e) { 61 locationChanged(); 62 } 63 }); 64 } 65 66 public String getName() { 67 return NbBundle.getMessage(AddInstanceVisualDirectoryPanel.class, 68 "StepName_EnterDomainDirectory"); } 70 71 void setAdminPort(String uri) { 72 if (!createPersonalInstance) { 73 adminPortDisplay.setText(uri); 74 detectedLabel.setVisible(uri.length() > 0); 75 } 76 } 77 78 String getInstanceDirectory() { 79 return instanceDirectory.getText(); 80 } 81 82 private final Set listeners = new HashSet (1); 85 public final void addChangeListener(ChangeListener l) { 86 synchronized (listeners) { 87 listeners.add(l); 88 } 89 } 90 public final void removeChangeListener(ChangeListener l) { 91 synchronized (listeners) { 92 listeners.remove(l); 93 } 94 } 95 protected final void fireChangeEvent() { 96 Iterator it; 97 synchronized (listeners) { 98 it = new HashSet (listeners).iterator(); 99 } 100 ChangeEvent ev = new ChangeEvent (this); 101 while (it.hasNext()) { 102 ((ChangeListener )it.next()).stateChanged(ev); 103 } 104 } 105 106 void locationChanged() { 107 fireChangeEvent(); 108 } 109 110 111 private String browseDomainLocation(){ 112 String insLocation = null; 113 JFileChooser chooser = null; 114 if (createPersonalInstance) { 115 chooser = new JFileChooser (); 116 } 117 else { 118 chooser = new DomainChooser(); 119 } 120 Util.decorateChooser(chooser,instanceDirectory.getText(), 121 NbBundle.getMessage(AddInstanceVisualDirectoryPanel.class, 122 "LBL_Choose_Domain")); int returnValue = chooser.showDialog(this, 124 NbBundle.getMessage(AddInstanceVisualDirectoryPanel.class, 125 "LBL_Choose_Button")); 127 if(returnValue == JFileChooser.APPROVE_OPTION){ 128 insLocation = chooser.getSelectedFile().getAbsolutePath(); 129 } 130 return insLocation; 131 } 132 133 private class DomainChooser extends JFileChooser { 134 public void approveSelection() { 135 File dir = FileUtil.normalizeFile(getSelectedFile()); 136 137 if ( Util.rootOfUsableDomain(dir) ) { 138 super.approveSelection(); 139 } 140 else { 141 setCurrentDirectory( dir ); 142 } 143 144 } 145 146 147 148 } 149 150 155 private void initComponents() { 157 java.awt.GridBagConstraints gridBagConstraints; 158 159 description = new javax.swing.JLabel (); 160 instanceDirectoryLabel = new javax.swing.JLabel (); 161 instanceDirectory = new javax.swing.JTextField (); 162 openInstanceDirectorySelector = new javax.swing.JButton (); 163 adminPortLabel = new javax.swing.JLabel (); 164 adminPortDisplay = new javax.swing.JTextField (); 165 detectedLabel = new javax.swing.JLabel (); 166 spaceHack = new javax.swing.JLabel (); 167 168 setLayout(new java.awt.GridBagLayout ()); 169 170 java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("org/netbeans/modules/j2ee/sun/ide/j2ee/ui/Bundle"); description.setText(bundle.getString("TXT_instanceDirectoryDescription1")); description.setEnabled(false); 173 description.setFocusable(false); 174 gridBagConstraints = new java.awt.GridBagConstraints (); 175 gridBagConstraints.gridx = 0; 176 gridBagConstraints.gridy = 0; 177 gridBagConstraints.gridwidth = 4; 178 gridBagConstraints.gridheight = 2; 179 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 180 gridBagConstraints.weightx = 1.0; 181 gridBagConstraints.insets = new java.awt.Insets (0, 0, 5, 0); 182 add(description, gridBagConstraints); 183 184 instanceDirectoryLabel.setLabelFor(instanceDirectory); 185 org.openide.awt.Mnemonics.setLocalizedText(instanceDirectoryLabel, org.openide.util.NbBundle.getMessage(AddInstanceVisualDirectoryPanel.class, "LBL_instanceDirectoryLabel")); gridBagConstraints = new java.awt.GridBagConstraints (); 187 gridBagConstraints.gridx = 0; 188 gridBagConstraints.gridy = 2; 189 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 190 gridBagConstraints.insets = new java.awt.Insets (5, 0, 6, 6); 191 add(instanceDirectoryLabel, gridBagConstraints); 192 gridBagConstraints = new java.awt.GridBagConstraints (); 193 gridBagConstraints.gridx = 1; 194 gridBagConstraints.gridy = 2; 195 gridBagConstraints.gridwidth = 2; 196 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 197 gridBagConstraints.weightx = 1.0; 198 gridBagConstraints.insets = new java.awt.Insets (5, 6, 6, 6); 199 add(instanceDirectory, gridBagConstraints); 200 instanceDirectory.getAccessibleContext().setAccessibleDescription(bundle.getString("DSC_instanceDirectory")); 202 org.openide.awt.Mnemonics.setLocalizedText(openInstanceDirectorySelector, org.openide.util.NbBundle.getMessage(AddInstanceVisualDirectoryPanel.class, "LBL_openInstanceDirectorySelector")); openInstanceDirectorySelector.addActionListener(new java.awt.event.ActionListener () { 204 public void actionPerformed(java.awt.event.ActionEvent evt) { 205 openInstanceDirectorySelectorActionPerformed(evt); 206 } 207 }); 208 gridBagConstraints = new java.awt.GridBagConstraints (); 209 gridBagConstraints.gridx = 3; 210 gridBagConstraints.gridy = 2; 211 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 212 gridBagConstraints.insets = new java.awt.Insets (5, 6, 6, 0); 213 add(openInstanceDirectorySelector, gridBagConstraints); 214 openInstanceDirectorySelector.getAccessibleContext().setAccessibleDescription(bundle.getString("DSC_openInstanceDirectorySelector")); 216 adminPortLabel.setLabelFor(adminPortDisplay); 217 org.openide.awt.Mnemonics.setLocalizedText(adminPortLabel, org.openide.util.NbBundle.getMessage(AddInstanceVisualDirectoryPanel.class, "LBL_adminlPortLabel")); gridBagConstraints = new java.awt.GridBagConstraints (); 219 gridBagConstraints.gridx = 0; 220 gridBagConstraints.gridy = 3; 221 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 222 gridBagConstraints.insets = new java.awt.Insets (6, 0, 6, 6); 223 add(adminPortLabel, gridBagConstraints); 224 225 adminPortDisplay.setEditable(false); 226 gridBagConstraints = new java.awt.GridBagConstraints (); 227 gridBagConstraints.gridx = 1; 228 gridBagConstraints.gridy = 3; 229 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 230 gridBagConstraints.weightx = 1.0; 231 gridBagConstraints.insets = new java.awt.Insets (6, 6, 5, 6); 232 add(adminPortDisplay, gridBagConstraints); 233 adminPortDisplay.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AddInstanceVisualDirectoryPanel.class, "ACSD_ADMIN_PORT")); 235 detectedLabel.setText(bundle.getString("LBL_detectedLabel")); detectedLabel.setFocusable(false); 237 gridBagConstraints = new java.awt.GridBagConstraints (); 238 gridBagConstraints.gridx = 2; 239 gridBagConstraints.gridy = 3; 240 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 241 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 242 gridBagConstraints.insets = new java.awt.Insets (6, 6, 5, 6); 243 add(detectedLabel, gridBagConstraints); 244 245 spaceHack.setEnabled(false); 246 spaceHack.setFocusable(false); 247 gridBagConstraints = new java.awt.GridBagConstraints (); 248 gridBagConstraints.gridx = 0; 249 gridBagConstraints.gridy = 4; 250 gridBagConstraints.weighty = 1.0; 251 add(spaceHack, gridBagConstraints); 252 } 254 private void openInstanceDirectorySelectorActionPerformed(java.awt.event.ActionEvent evt) { String val = browseDomainLocation(); 256 if (null != val && val.length() >=1) 257 instanceDirectory.setText(val); 258 } 260 261 private javax.swing.JTextField adminPortDisplay; 263 private javax.swing.JLabel adminPortLabel; 264 private javax.swing.JLabel description; 265 private javax.swing.JLabel detectedLabel; 266 private javax.swing.JTextField instanceDirectory; 267 private javax.swing.JLabel instanceDirectoryLabel; 268 private javax.swing.JButton openInstanceDirectorySelector; 269 private javax.swing.JLabel spaceHack; 270 272 } 273 274 | Popular Tags |