Lines 13-61
Link Here
|
13 |
|
13 |
|
14 |
package org.netbeans.modules.java.j2seproject.ui.customizer; |
14 |
package org.netbeans.modules.java.j2seproject.ui.customizer; |
15 |
|
15 |
|
|
|
16 |
import java.awt.Component; |
16 |
import java.awt.Dialog; |
17 |
import java.awt.Dialog; |
|
|
18 |
import java.awt.Font; |
17 |
import java.awt.event.ActionEvent; |
19 |
import java.awt.event.ActionEvent; |
18 |
import java.awt.event.ActionListener; |
20 |
import java.awt.event.ActionListener; |
19 |
import java.awt.event.MouseEvent; |
21 |
import java.awt.event.MouseEvent; |
20 |
import java.io.File; |
22 |
import java.io.File; |
|
|
23 |
import java.text.Collator; |
24 |
import java.util.Comparator; |
25 |
import java.util.HashMap; |
26 |
import java.util.Iterator; |
27 |
import java.util.Map; |
28 |
import java.util.SortedSet; |
29 |
import java.util.TreeSet; |
30 |
import javax.swing.DefaultComboBoxModel; |
31 |
import javax.swing.DefaultListCellRenderer; |
21 |
import javax.swing.JButton; |
32 |
import javax.swing.JButton; |
22 |
import javax.swing.JFileChooser; |
33 |
import javax.swing.JFileChooser; |
|
|
34 |
import javax.swing.JList; |
23 |
import javax.swing.JPanel; |
35 |
import javax.swing.JPanel; |
24 |
import javax.swing.JTextField; |
36 |
import javax.swing.JTextField; |
25 |
import javax.swing.event.ChangeEvent; |
37 |
import javax.swing.event.ChangeEvent; |
26 |
import javax.swing.event.ChangeListener; |
38 |
import javax.swing.event.ChangeListener; |
27 |
import javax.swing.event.DocumentEvent; |
39 |
import javax.swing.event.DocumentEvent; |
28 |
import javax.swing.event.DocumentListener; |
40 |
import javax.swing.event.DocumentListener; |
29 |
import org.netbeans.api.project.Project; |
|
|
30 |
import org.netbeans.modules.java.j2seproject.J2SEProject; |
41 |
import org.netbeans.modules.java.j2seproject.J2SEProject; |
31 |
import org.netbeans.modules.java.j2seproject.SourceRoots; |
42 |
import org.netbeans.modules.java.j2seproject.SourceRoots; |
32 |
import org.openide.DialogDescriptor; |
43 |
import org.openide.DialogDescriptor; |
33 |
import org.openide.DialogDisplayer; |
44 |
import org.openide.DialogDisplayer; |
|
|
45 |
import org.openide.NotifyDescriptor; |
34 |
import org.openide.awt.MouseUtils; |
46 |
import org.openide.awt.MouseUtils; |
35 |
import org.openide.filesystems.FileObject; |
|
|
36 |
import org.openide.filesystems.FileUtil; |
47 |
import org.openide.filesystems.FileUtil; |
37 |
import org.openide.util.HelpCtx; |
48 |
import org.openide.util.HelpCtx; |
38 |
import org.openide.util.NbBundle; |
49 |
import org.openide.util.NbBundle; |
39 |
|
50 |
|
40 |
|
|
|
41 |
/** |
42 |
* |
43 |
* @author phrebejk |
44 |
*/ |
45 |
public class CustomizerRun extends JPanel implements HelpCtx.Provider { |
51 |
public class CustomizerRun extends JPanel implements HelpCtx.Provider { |
46 |
|
52 |
|
47 |
private J2SEProject project; |
53 |
private J2SEProject project; |
48 |
|
54 |
|
|
|
55 |
private JTextField[] data; |
56 |
private String[] keys; |
57 |
private Map/*<String|null,Map<String,String|null>|null>*/ configs; |
58 |
J2SEProjectProperties uiProperties; |
59 |
|
49 |
public CustomizerRun( J2SEProjectProperties uiProperties ) { |
60 |
public CustomizerRun( J2SEProjectProperties uiProperties ) { |
|
|
61 |
this.uiProperties = uiProperties; |
50 |
initComponents(); |
62 |
initComponents(); |
51 |
|
63 |
|
52 |
this.project = uiProperties.getProject(); |
64 |
this.project = uiProperties.getProject(); |
53 |
|
65 |
|
54 |
jTextFieldMainClass.setDocument( uiProperties.MAIN_CLASS_MODEL ); |
66 |
configs = uiProperties.RUN_CONFIGS; |
55 |
jTextFieldArgs.setDocument( uiProperties.APPLICATION_ARGS_MODEL ); |
67 |
|
56 |
jTextVMOptions.setDocument( uiProperties.RUN_JVM_ARGS_MODEL ); |
68 |
data = new JTextField[] { |
57 |
jTextWorkingDirectory.setDocument( uiProperties.RUN_WORK_DIR_MODEL ); |
69 |
jTextFieldMainClass, |
58 |
|
70 |
jTextFieldArgs, |
|
|
71 |
jTextVMOptions, |
72 |
jTextWorkingDirectory, |
73 |
}; |
74 |
keys = new String[] { |
75 |
J2SEProjectProperties.MAIN_CLASS, |
76 |
J2SEProjectProperties.APPLICATION_ARGS, |
77 |
J2SEProjectProperties.RUN_JVM_ARGS, |
78 |
J2SEProjectProperties.RUN_WORK_DIR, |
79 |
}; |
80 |
assert data.length == keys.length; |
81 |
|
82 |
configChanged(uiProperties.activeConfig); |
83 |
|
84 |
configCombo.setRenderer(new DefaultListCellRenderer() { |
85 |
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { |
86 |
String config = (String) value; |
87 |
String label; |
88 |
if (config == null) { |
89 |
// uninitialized? |
90 |
label = null; |
91 |
} else if (config.length() > 0) { |
92 |
Map m = (Map) configs.get(config); |
93 |
label = m != null ? (String) m.get("$label") : /* temporary? */ null; |
94 |
if (label == null) { |
95 |
label = config; |
96 |
} |
97 |
} else { |
98 |
label = NbBundle.getMessage(CustomizerRun.class, "CustomizerRun.default"); |
99 |
} |
100 |
return super.getListCellRendererComponent(list, label, index, isSelected, cellHasFocus); |
101 |
} |
102 |
}); |
103 |
|
104 |
for (int i = 0; i < data.length; i++) { |
105 |
final JTextField field = data[i]; |
106 |
final String prop = keys[i]; |
107 |
field.getDocument().addDocumentListener(new DocumentListener() { |
108 |
Font basefont = field.getFont(); |
109 |
Font boldfont = basefont.deriveFont(Font.BOLD); |
110 |
{ |
111 |
updateFont(); |
112 |
} |
113 |
public void insertUpdate(DocumentEvent e) { |
114 |
changed(); |
115 |
} |
116 |
public void removeUpdate(DocumentEvent e) { |
117 |
changed(); |
118 |
} |
119 |
public void changedUpdate(DocumentEvent e) {} |
120 |
void changed() { |
121 |
String config = (String) configCombo.getSelectedItem(); |
122 |
if (config.length() == 0) { |
123 |
config = null; |
124 |
} |
125 |
String v = field.getText(); |
126 |
if (v != null && config != null && v.equals(((Map) configs.get(null)).get(prop))) { |
127 |
// default value, do not store as such |
128 |
v = null; |
129 |
} |
130 |
((Map) configs.get(config)).put(prop, v); |
131 |
updateFont(); |
132 |
} |
133 |
void updateFont() { |
134 |
String v = field.getText(); |
135 |
String config = (String) configCombo.getSelectedItem(); |
136 |
if (config.length() == 0) { |
137 |
config = null; |
138 |
} |
139 |
field.setFont(config != null && v != null && !v.equals(((Map) configs.get(null)).get(prop)) ? boldfont : basefont); |
140 |
} |
141 |
}); |
142 |
} |
143 |
|
59 |
jButtonMainClass.addActionListener( new MainClassListener( project.getSourceRoots(), jTextFieldMainClass ) ); |
144 |
jButtonMainClass.addActionListener( new MainClassListener( project.getSourceRoots(), jTextFieldMainClass ) ); |
60 |
} |
145 |
} |
61 |
|
146 |
|
Lines 72-77
Link Here
|
72 |
private void initComponents() { |
157 |
private void initComponents() { |
73 |
java.awt.GridBagConstraints gridBagConstraints; |
158 |
java.awt.GridBagConstraints gridBagConstraints; |
74 |
|
159 |
|
|
|
160 |
configSep = new javax.swing.JSeparator(); |
161 |
configPanel = new javax.swing.JPanel(); |
162 |
configLabel = new javax.swing.JLabel(); |
163 |
configCombo = new javax.swing.JComboBox(); |
164 |
configNew = new javax.swing.JButton(); |
165 |
configDel = new javax.swing.JButton(); |
166 |
mainPanel = new javax.swing.JPanel(); |
75 |
jLabelMainClass = new javax.swing.JLabel(); |
167 |
jLabelMainClass = new javax.swing.JLabel(); |
76 |
jTextFieldMainClass = new javax.swing.JTextField(); |
168 |
jTextFieldMainClass = new javax.swing.JTextField(); |
77 |
jButtonMainClass = new javax.swing.JButton(); |
169 |
jButtonMainClass = new javax.swing.JButton(); |
Lines 86-135
Link Here
|
86 |
|
178 |
|
87 |
setLayout(new java.awt.GridBagLayout()); |
179 |
setLayout(new java.awt.GridBagLayout()); |
88 |
|
180 |
|
|
|
181 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
182 |
gridBagConstraints.gridx = 0; |
183 |
gridBagConstraints.gridy = 1; |
184 |
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
185 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; |
186 |
gridBagConstraints.insets = new java.awt.Insets(6, 0, 6, 0); |
187 |
add(configSep, gridBagConstraints); |
188 |
|
189 |
configPanel.setLayout(new java.awt.GridBagLayout()); |
190 |
|
191 |
configLabel.setLabelFor(configCombo); |
192 |
org.openide.awt.Mnemonics.setLocalizedText(configLabel, org.openide.util.NbBundle.getMessage(CustomizerRun.class, "CustomizerRun.configLabel")); // NOI18N |
193 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
194 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
195 |
gridBagConstraints.insets = new java.awt.Insets(2, 0, 2, 0); |
196 |
configPanel.add(configLabel, gridBagConstraints); |
197 |
|
198 |
configCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "<default>" })); |
199 |
configCombo.addActionListener(new java.awt.event.ActionListener() { |
200 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
201 |
configComboActionPerformed(evt); |
202 |
} |
203 |
}); |
204 |
|
205 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
206 |
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
207 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
208 |
gridBagConstraints.weightx = 1.0; |
209 |
gridBagConstraints.insets = new java.awt.Insets(2, 6, 2, 0); |
210 |
configPanel.add(configCombo, gridBagConstraints); |
211 |
|
212 |
org.openide.awt.Mnemonics.setLocalizedText(configNew, org.openide.util.NbBundle.getMessage(CustomizerRun.class, "CustomizerRun.configNew")); // NOI18N |
213 |
configNew.addActionListener(new java.awt.event.ActionListener() { |
214 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
215 |
configNewActionPerformed(evt); |
216 |
} |
217 |
}); |
218 |
|
219 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
220 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
221 |
gridBagConstraints.insets = new java.awt.Insets(2, 6, 2, 0); |
222 |
configPanel.add(configNew, gridBagConstraints); |
223 |
|
224 |
org.openide.awt.Mnemonics.setLocalizedText(configDel, org.openide.util.NbBundle.getMessage(CustomizerRun.class, "CustomizerRun.configDelete")); // NOI18N |
225 |
configDel.addActionListener(new java.awt.event.ActionListener() { |
226 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
227 |
configDelActionPerformed(evt); |
228 |
} |
229 |
}); |
230 |
|
231 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
232 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
233 |
gridBagConstraints.insets = new java.awt.Insets(2, 6, 2, 0); |
234 |
configPanel.add(configDel, gridBagConstraints); |
235 |
|
236 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
237 |
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
238 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; |
239 |
gridBagConstraints.insets = new java.awt.Insets(6, 0, 6, 0); |
240 |
add(configPanel, gridBagConstraints); |
241 |
|
242 |
mainPanel.setLayout(new java.awt.GridBagLayout()); |
243 |
|
89 |
jLabelMainClass.setLabelFor(jTextFieldMainClass); |
244 |
jLabelMainClass.setLabelFor(jTextFieldMainClass); |
90 |
org.openide.awt.Mnemonics.setLocalizedText(jLabelMainClass, org.openide.util.NbBundle.getMessage(CustomizerRun.class, "LBL_CustomizeRun_Run_MainClass_JLabel")); |
245 |
org.openide.awt.Mnemonics.setLocalizedText(jLabelMainClass, org.openide.util.NbBundle.getMessage(CustomizerRun.class, "LBL_CustomizeRun_Run_MainClass_JLabel")); // NOI18N |
91 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
246 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
92 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
247 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
93 |
gridBagConstraints.insets = new java.awt.Insets(0, 0, 5, 0); |
248 |
gridBagConstraints.insets = new java.awt.Insets(0, 0, 5, 0); |
94 |
add(jLabelMainClass, gridBagConstraints); |
249 |
mainPanel.add(jLabelMainClass, gridBagConstraints); |
95 |
|
250 |
|
96 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
251 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
97 |
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
252 |
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
98 |
gridBagConstraints.weightx = 1.0; |
253 |
gridBagConstraints.weightx = 1.0; |
99 |
gridBagConstraints.insets = new java.awt.Insets(0, 12, 5, 0); |
254 |
gridBagConstraints.insets = new java.awt.Insets(0, 12, 5, 0); |
100 |
add(jTextFieldMainClass, gridBagConstraints); |
255 |
mainPanel.add(jTextFieldMainClass, gridBagConstraints); |
101 |
jTextFieldMainClass.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getBundle(CustomizerRun.class).getString("AD_jTextFieldMainClass")); |
256 |
jTextFieldMainClass.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getBundle(CustomizerRun.class).getString("AD_jTextFieldMainClass")); // NOI18N |
102 |
|
257 |
|
103 |
org.openide.awt.Mnemonics.setLocalizedText(jButtonMainClass, org.openide.util.NbBundle.getMessage(CustomizerRun.class, "LBL_CustomizeRun_Run_MainClass_JButton")); |
258 |
org.openide.awt.Mnemonics.setLocalizedText(jButtonMainClass, org.openide.util.NbBundle.getMessage(CustomizerRun.class, "LBL_CustomizeRun_Run_MainClass_JButton")); // NOI18N |
104 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
259 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
105 |
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; |
260 |
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; |
106 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
261 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
107 |
gridBagConstraints.insets = new java.awt.Insets(0, 6, 5, 0); |
262 |
gridBagConstraints.insets = new java.awt.Insets(0, 6, 5, 0); |
108 |
add(jButtonMainClass, gridBagConstraints); |
263 |
mainPanel.add(jButtonMainClass, gridBagConstraints); |
109 |
jButtonMainClass.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getBundle(CustomizerRun.class).getString("AD_jButtonMainClass")); |
264 |
jButtonMainClass.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getBundle(CustomizerRun.class).getString("AD_jButtonMainClass")); // NOI18N |
110 |
|
265 |
|
111 |
jLabelArgs.setLabelFor(jTextFieldArgs); |
266 |
jLabelArgs.setLabelFor(jTextFieldArgs); |
112 |
org.openide.awt.Mnemonics.setLocalizedText(jLabelArgs, org.openide.util.NbBundle.getMessage(CustomizerRun.class, "LBL_CustomizeRun_Run_Args_JLabel")); |
267 |
org.openide.awt.Mnemonics.setLocalizedText(jLabelArgs, org.openide.util.NbBundle.getMessage(CustomizerRun.class, "LBL_CustomizeRun_Run_Args_JLabel")); // NOI18N |
113 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
268 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
114 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
269 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
115 |
gridBagConstraints.insets = new java.awt.Insets(0, 0, 12, 0); |
270 |
gridBagConstraints.insets = new java.awt.Insets(0, 0, 12, 0); |
116 |
add(jLabelArgs, gridBagConstraints); |
271 |
mainPanel.add(jLabelArgs, gridBagConstraints); |
117 |
|
272 |
|
118 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
273 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
119 |
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
274 |
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
120 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; |
275 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; |
121 |
gridBagConstraints.weightx = 1.0; |
276 |
gridBagConstraints.weightx = 1.0; |
122 |
gridBagConstraints.insets = new java.awt.Insets(0, 12, 12, 0); |
277 |
gridBagConstraints.insets = new java.awt.Insets(0, 12, 12, 0); |
123 |
add(jTextFieldArgs, gridBagConstraints); |
278 |
mainPanel.add(jTextFieldArgs, gridBagConstraints); |
124 |
jTextFieldArgs.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getBundle(CustomizerRun.class).getString("AD_jTextFieldArgs")); |
279 |
jTextFieldArgs.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getBundle(CustomizerRun.class).getString("AD_jTextFieldArgs")); // NOI18N |
125 |
|
280 |
|
126 |
jLabelWorkingDirectory.setLabelFor(jTextWorkingDirectory); |
281 |
jLabelWorkingDirectory.setLabelFor(jTextWorkingDirectory); |
127 |
org.openide.awt.Mnemonics.setLocalizedText(jLabelWorkingDirectory, org.openide.util.NbBundle.getMessage(CustomizerRun.class, "LBL_CustomizeRun_Run_Working_Directory")); |
282 |
org.openide.awt.Mnemonics.setLocalizedText(jLabelWorkingDirectory, org.openide.util.NbBundle.getMessage(CustomizerRun.class, "LBL_CustomizeRun_Run_Working_Directory")); // NOI18N |
128 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
283 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
129 |
gridBagConstraints.gridy = 2; |
284 |
gridBagConstraints.gridy = 2; |
130 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
285 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
131 |
gridBagConstraints.insets = new java.awt.Insets(0, 0, 5, 0); |
286 |
gridBagConstraints.insets = new java.awt.Insets(0, 0, 5, 0); |
132 |
add(jLabelWorkingDirectory, gridBagConstraints); |
287 |
mainPanel.add(jLabelWorkingDirectory, gridBagConstraints); |
133 |
|
288 |
|
134 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
289 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
135 |
gridBagConstraints.gridy = 2; |
290 |
gridBagConstraints.gridy = 2; |
Lines 137-146
Link Here
|
137 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
292 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
138 |
gridBagConstraints.weightx = 1.0; |
293 |
gridBagConstraints.weightx = 1.0; |
139 |
gridBagConstraints.insets = new java.awt.Insets(0, 12, 5, 0); |
294 |
gridBagConstraints.insets = new java.awt.Insets(0, 12, 5, 0); |
140 |
add(jTextWorkingDirectory, gridBagConstraints); |
295 |
mainPanel.add(jTextWorkingDirectory, gridBagConstraints); |
141 |
jTextWorkingDirectory.getAccessibleContext().setAccessibleDescription(java.util.ResourceBundle.getBundle("org/netbeans/modules/java/j2seproject/ui/customizer/Bundle").getString("AD_CustomizeRun_Run_Working_Directory ")); |
296 |
java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("org/netbeans/modules/java/j2seproject/ui/customizer/Bundle"); // NOI18N |
|
|
297 |
jTextWorkingDirectory.getAccessibleContext().setAccessibleDescription(bundle.getString("AD_CustomizeRun_Run_Working_Directory ")); // NOI18N |
142 |
|
298 |
|
143 |
org.openide.awt.Mnemonics.setLocalizedText(jButtonWorkingDirectoryBrowse, org.openide.util.NbBundle.getMessage(CustomizerRun.class, "LBL_CustomizeRun_Run_Working_Directory_Browse")); |
299 |
org.openide.awt.Mnemonics.setLocalizedText(jButtonWorkingDirectoryBrowse, org.openide.util.NbBundle.getMessage(CustomizerRun.class, "LBL_CustomizeRun_Run_Working_Directory_Browse")); // NOI18N |
144 |
jButtonWorkingDirectoryBrowse.addActionListener(new java.awt.event.ActionListener() { |
300 |
jButtonWorkingDirectoryBrowse.addActionListener(new java.awt.event.ActionListener() { |
145 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
301 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
146 |
jButtonWorkingDirectoryBrowseActionPerformed(evt); |
302 |
jButtonWorkingDirectoryBrowseActionPerformed(evt); |
Lines 152-176
Link Here
|
152 |
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; |
308 |
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; |
153 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
309 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
154 |
gridBagConstraints.insets = new java.awt.Insets(0, 6, 5, 0); |
310 |
gridBagConstraints.insets = new java.awt.Insets(0, 6, 5, 0); |
155 |
add(jButtonWorkingDirectoryBrowse, gridBagConstraints); |
311 |
mainPanel.add(jButtonWorkingDirectoryBrowse, gridBagConstraints); |
156 |
jButtonWorkingDirectoryBrowse.getAccessibleContext().setAccessibleDescription(java.util.ResourceBundle.getBundle("org/netbeans/modules/java/j2seproject/ui/customizer/Bundle").getString("AD_CustomizeRun_Run_Working_Directory_Browse")); |
312 |
jButtonWorkingDirectoryBrowse.getAccessibleContext().setAccessibleDescription(bundle.getString("AD_CustomizeRun_Run_Working_Directory_Browse")); // NOI18N |
157 |
|
313 |
|
158 |
jLabelVMOptions.setLabelFor(jTextVMOptions); |
314 |
jLabelVMOptions.setLabelFor(jTextVMOptions); |
159 |
org.openide.awt.Mnemonics.setLocalizedText(jLabelVMOptions, org.openide.util.NbBundle.getMessage(CustomizerRun.class, "LBL_CustomizeRun_Run_VM_Options")); |
315 |
org.openide.awt.Mnemonics.setLocalizedText(jLabelVMOptions, org.openide.util.NbBundle.getMessage(CustomizerRun.class, "LBL_CustomizeRun_Run_VM_Options")); // NOI18N |
160 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
316 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
161 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
317 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
162 |
gridBagConstraints.insets = new java.awt.Insets(0, 0, 5, 0); |
318 |
gridBagConstraints.insets = new java.awt.Insets(0, 0, 5, 0); |
163 |
add(jLabelVMOptions, gridBagConstraints); |
319 |
mainPanel.add(jLabelVMOptions, gridBagConstraints); |
164 |
|
320 |
|
165 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
321 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
166 |
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
322 |
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
167 |
gridBagConstraints.weightx = 1.0; |
323 |
gridBagConstraints.weightx = 1.0; |
168 |
gridBagConstraints.insets = new java.awt.Insets(0, 12, 0, 0); |
324 |
gridBagConstraints.insets = new java.awt.Insets(0, 12, 0, 0); |
169 |
add(jTextVMOptions, gridBagConstraints); |
325 |
mainPanel.add(jTextVMOptions, gridBagConstraints); |
170 |
jTextVMOptions.getAccessibleContext().setAccessibleDescription(java.util.ResourceBundle.getBundle("org/netbeans/modules/java/j2seproject/ui/customizer/Bundle").getString("AD_CustomizeRun_Run_VM_Options")); |
326 |
jTextVMOptions.getAccessibleContext().setAccessibleDescription(bundle.getString("AD_CustomizeRun_Run_VM_Options")); // NOI18N |
171 |
|
327 |
|
172 |
jLabelVMOptionsExample.setLabelFor(jTextFieldMainClass); |
328 |
jLabelVMOptionsExample.setLabelFor(jTextFieldMainClass); |
173 |
org.openide.awt.Mnemonics.setLocalizedText(jLabelVMOptionsExample, org.openide.util.NbBundle.getMessage(CustomizerRun.class, "LBL_CustomizeRun_Run_VM_Options_Example")); |
329 |
org.openide.awt.Mnemonics.setLocalizedText(jLabelVMOptionsExample, org.openide.util.NbBundle.getMessage(CustomizerRun.class, "LBL_CustomizeRun_Run_VM_Options_Example")); // NOI18N |
174 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
330 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
175 |
gridBagConstraints.gridx = 1; |
331 |
gridBagConstraints.gridx = 1; |
176 |
gridBagConstraints.gridy = 4; |
332 |
gridBagConstraints.gridy = 4; |
Lines 179-189
Link Here
|
179 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; |
335 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; |
180 |
gridBagConstraints.weighty = 1.0; |
336 |
gridBagConstraints.weighty = 1.0; |
181 |
gridBagConstraints.insets = new java.awt.Insets(0, 12, 12, 0); |
337 |
gridBagConstraints.insets = new java.awt.Insets(0, 12, 12, 0); |
182 |
add(jLabelVMOptionsExample, gridBagConstraints); |
338 |
mainPanel.add(jLabelVMOptionsExample, gridBagConstraints); |
183 |
jLabelVMOptionsExample.getAccessibleContext().setAccessibleDescription(java.util.ResourceBundle.getBundle("org/netbeans/modules/java/j2seproject/ui/customizer/Bundle").getString("LBL_CustomizeRun_Run_VM_Options_Example")); |
339 |
jLabelVMOptionsExample.getAccessibleContext().setAccessibleDescription(bundle.getString("LBL_CustomizeRun_Run_VM_Options_Example")); // NOI18N |
184 |
|
340 |
|
185 |
} |
341 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
186 |
// </editor-fold>//GEN-END:initComponents |
342 |
gridBagConstraints.gridx = 0; |
|
|
343 |
gridBagConstraints.gridy = 2; |
344 |
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
345 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; |
346 |
gridBagConstraints.weightx = 1.0; |
347 |
gridBagConstraints.weighty = 1.0; |
348 |
gridBagConstraints.insets = new java.awt.Insets(6, 0, 6, 0); |
349 |
add(mainPanel, gridBagConstraints); |
350 |
|
351 |
}// </editor-fold>//GEN-END:initComponents |
352 |
|
353 |
private void configDelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_configDelActionPerformed |
354 |
String config = (String) configCombo.getSelectedItem(); |
355 |
assert config != null; |
356 |
configs.put(config, null); |
357 |
configChanged(null); |
358 |
uiProperties.activeConfig = null; |
359 |
}//GEN-LAST:event_configDelActionPerformed |
360 |
|
361 |
private void configNewActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_configNewActionPerformed |
362 |
NotifyDescriptor.InputLine d = new NotifyDescriptor.InputLine( |
363 |
NbBundle.getMessage(CustomizerRun.class, "CustomizerRun.input.prompt"), |
364 |
NbBundle.getMessage(CustomizerRun.class, "CustomizerRun.input.title")); |
365 |
if (DialogDisplayer.getDefault().notify(d) != NotifyDescriptor.OK_OPTION) { |
366 |
return; |
367 |
} |
368 |
String name = d.getInputText(); |
369 |
String config = name.replaceAll("[^a-zA-Z0-9_.-]", "_"); // NOI18N |
370 |
if (configs.containsKey(config)) { |
371 |
// XXX complain? |
372 |
return; |
373 |
} |
374 |
Map m = new HashMap(); |
375 |
if (!name.equals(config)) { |
376 |
m.put("$label", name); // NOI18N |
377 |
} |
378 |
configs.put(config, m); |
379 |
configChanged(config); |
380 |
uiProperties.activeConfig = config; |
381 |
}//GEN-LAST:event_configNewActionPerformed |
382 |
|
383 |
private void configComboActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_configComboActionPerformed |
384 |
String config = (String) configCombo.getSelectedItem(); |
385 |
if (config.length() == 0) { |
386 |
config = null; |
387 |
} |
388 |
configChanged(config); |
389 |
uiProperties.activeConfig = config; |
390 |
}//GEN-LAST:event_configComboActionPerformed |
187 |
|
391 |
|
188 |
private void jButtonWorkingDirectoryBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonWorkingDirectoryBrowseActionPerformed |
392 |
private void jButtonWorkingDirectoryBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonWorkingDirectoryBrowseActionPerformed |
189 |
JFileChooser chooser = new JFileChooser(); |
393 |
JFileChooser chooser = new JFileChooser(); |
Lines 202-210
Link Here
|
202 |
jTextWorkingDirectory.setText(file.getAbsolutePath()); |
406 |
jTextWorkingDirectory.setText(file.getAbsolutePath()); |
203 |
} |
407 |
} |
204 |
}//GEN-LAST:event_jButtonWorkingDirectoryBrowseActionPerformed |
408 |
}//GEN-LAST:event_jButtonWorkingDirectoryBrowseActionPerformed |
|
|
409 |
|
410 |
private void configChanged(String activeConfig) { |
411 |
DefaultComboBoxModel model = new DefaultComboBoxModel(); |
412 |
model.addElement(""); |
413 |
SortedSet alphaConfigs = new TreeSet(new Comparator() { |
414 |
Collator coll = Collator.getInstance(); |
415 |
public int compare(Object o1, Object o2) { |
416 |
return coll.compare(label(o1), label(o2)); |
417 |
} |
418 |
private String label(Object o) { |
419 |
String c = (String) o; |
420 |
Map m = (Map) configs.get(c); |
421 |
String label = (String) m.get("$label"); // NOI18N |
422 |
return label != null ? label : c; |
423 |
} |
424 |
}); |
425 |
Iterator it = configs.keySet().iterator(); |
426 |
while (it.hasNext()) { |
427 |
String config = (String) it.next(); |
428 |
if (config != null && configs.get(config) != null) { |
429 |
alphaConfigs.add(config); |
430 |
} |
431 |
} |
432 |
it = alphaConfigs.iterator(); |
433 |
while (it.hasNext()) { |
434 |
model.addElement(it.next()); |
435 |
} |
436 |
configCombo.setModel(model); |
437 |
configCombo.setSelectedItem(activeConfig != null ? activeConfig : ""); |
438 |
Map m = (Map) configs.get(activeConfig); |
439 |
Map def = (Map) configs.get(null); |
440 |
if (m != null) { |
441 |
for (int i = 0; i < data.length; i++) { |
442 |
String v = (String) m.get(keys[i]); |
443 |
if (v == null) { |
444 |
// display default value |
445 |
v = (String) def.get(keys[i]); |
446 |
} |
447 |
data[i].setText(v); |
448 |
} |
449 |
} // else ?? |
450 |
configDel.setEnabled(activeConfig != null); |
451 |
} |
205 |
|
452 |
|
206 |
|
453 |
|
207 |
// Variables declaration - do not modify//GEN-BEGIN:variables |
454 |
// Variables declaration - do not modify//GEN-BEGIN:variables |
|
|
455 |
private javax.swing.JComboBox configCombo; |
456 |
private javax.swing.JButton configDel; |
457 |
private javax.swing.JLabel configLabel; |
458 |
private javax.swing.JButton configNew; |
459 |
private javax.swing.JPanel configPanel; |
460 |
private javax.swing.JSeparator configSep; |
208 |
private javax.swing.JButton jButtonMainClass; |
461 |
private javax.swing.JButton jButtonMainClass; |
209 |
private javax.swing.JButton jButtonWorkingDirectoryBrowse; |
462 |
private javax.swing.JButton jButtonWorkingDirectoryBrowse; |
210 |
private javax.swing.JLabel jLabelArgs; |
463 |
private javax.swing.JLabel jLabelArgs; |
Lines 216-221
Link Here
|
216 |
private javax.swing.JTextField jTextFieldMainClass; |
469 |
private javax.swing.JTextField jTextFieldMainClass; |
217 |
private javax.swing.JTextField jTextVMOptions; |
470 |
private javax.swing.JTextField jTextVMOptions; |
218 |
private javax.swing.JTextField jTextWorkingDirectory; |
471 |
private javax.swing.JTextField jTextWorkingDirectory; |
|
|
472 |
private javax.swing.JPanel mainPanel; |
219 |
// End of variables declaration//GEN-END:variables |
473 |
// End of variables declaration//GEN-END:variables |
220 |
|
474 |
|
221 |
|
475 |
|