KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > launch4j > form > JreForm


1 package net.sf.launch4j.form;
2
3 import com.jgoodies.forms.layout.CellConstraints;
4 import com.jgoodies.forms.layout.FormLayout;
5 import java.awt.BorderLayout JavaDoc;
6 import java.awt.Container JavaDoc;
7 import java.awt.Dimension JavaDoc;
8 import javax.swing.Box JavaDoc;
9 import javax.swing.ImageIcon JavaDoc;
10 import javax.swing.JButton JavaDoc;
11 import javax.swing.JCheckBox JavaDoc;
12 import javax.swing.JComboBox JavaDoc;
13 import javax.swing.JLabel JavaDoc;
14 import javax.swing.JPanel JavaDoc;
15 import javax.swing.JScrollPane JavaDoc;
16 import javax.swing.JTextArea JavaDoc;
17 import javax.swing.JTextField JavaDoc;
18
19 public abstract class JreForm extends JPanel JavaDoc
20 {
21    protected final JLabel JavaDoc _jrePathLabel = new JLabel JavaDoc();
22    protected final JLabel JavaDoc _jreMinLabel = new JLabel JavaDoc();
23    protected final JLabel JavaDoc _jreMaxLabel = new JLabel JavaDoc();
24    protected final JLabel JavaDoc _jvmOptionsTextLabel = new JLabel JavaDoc();
25    protected final JTextField JavaDoc _jrePathField = new JTextField JavaDoc();
26    protected final JTextField JavaDoc _jreMinField = new JTextField JavaDoc();
27    protected final JTextField JavaDoc _jreMaxField = new JTextField JavaDoc();
28    protected final JTextArea JavaDoc _jvmOptionsTextArea = new JTextArea JavaDoc();
29    protected final JLabel JavaDoc _initialHeapSizeLabel = new JLabel JavaDoc();
30    protected final JLabel JavaDoc _maxHeapSizeLabel = new JLabel JavaDoc();
31    protected final JTextField JavaDoc _initialHeapSizeField = new JTextField JavaDoc();
32    protected final JTextField JavaDoc _maxHeapSizeField = new JTextField JavaDoc();
33    protected final JCheckBox JavaDoc _dontUsePrivateJresCheck = new JCheckBox JavaDoc();
34    protected final JComboBox JavaDoc _varCombo = new JComboBox JavaDoc();
35    protected final JButton JavaDoc _propertyButton = new JButton JavaDoc();
36    protected final JButton JavaDoc _optionButton = new JButton JavaDoc();
37    protected final JButton JavaDoc _envPropertyButton = new JButton JavaDoc();
38    protected final JButton JavaDoc _envOptionButton = new JButton JavaDoc();
39    protected final JTextField JavaDoc _envVarField = new JTextField JavaDoc();
40
41    /**
42     * Default constructor
43     */

44    public JreForm()
45    {
46       initializePanel();
47    }
48
49    /**
50     * Adds fill components to empty cells in the first row and first column of the grid.
51     * This ensures that the grid spacing will be the same as shown in the designer.
52     * @param cols an array of column indices in the first row where fill components should be added.
53     * @param rows an array of row indices in the first column where fill components should be added.
54     */

55    void addFillComponents( Container JavaDoc panel, int[] cols, int[] rows )
56    {
57       Dimension JavaDoc filler = new Dimension JavaDoc(10,10);
58
59       boolean filled_cell_11 = false;
60       CellConstraints cc = new CellConstraints();
61       if ( cols.length > 0 && rows.length > 0 )
62       {
63          if ( cols[0] == 1 && rows[0] == 1 )
64          {
65             /** add a rigid area */
66             panel.add( Box.createRigidArea( filler ), cc.xy(1,1) );
67             filled_cell_11 = true;
68          }
69       }
70
71       for( int index = 0; index < cols.length; index++ )
72       {
73          if ( cols[index] == 1 && filled_cell_11 )
74          {
75             continue;
76          }
77          panel.add( Box.createRigidArea( filler ), cc.xy(cols[index],1) );
78       }
79
80       for( int index = 0; index < rows.length; index++ )
81       {
82          if ( rows[index] == 1 && filled_cell_11 )
83          {
84             continue;
85          }
86          panel.add( Box.createRigidArea( filler ), cc.xy(1,rows[index]) );
87       }
88
89    }
90
91    /**
92     * Helper method to load an image file from the CLASSPATH
93     * @param imageName the package and name of the file to load relative to the CLASSPATH
94     * @return an ImageIcon instance with the specified image file
95     * @throws IllegalArgumentException if the image resource cannot be loaded.
96     */

97    public ImageIcon JavaDoc loadImage( String JavaDoc imageName )
98    {
99       try
100       {
101          ClassLoader JavaDoc classloader = getClass().getClassLoader();
102          java.net.URL JavaDoc url = classloader.getResource( imageName );
103          if ( url != null )
104          {
105             ImageIcon JavaDoc icon = new ImageIcon JavaDoc( url );
106             return icon;
107          }
108       }
109       catch( Exception JavaDoc e )
110       {
111          e.printStackTrace();
112       }
113       throw new IllegalArgumentException JavaDoc( "Unable to load image: " + imageName );
114    }
115
116    public JPanel JavaDoc createPanel()
117    {
118       JPanel JavaDoc jpanel1 = new JPanel JavaDoc();
119       FormLayout formlayout1 = new FormLayout("FILL:7DLU:NONE,RIGHT:MAX(65DLU;DEFAULT):NONE,FILL:3DLU:NONE,FILL:60DLU:NONE,FILL:3DLU:NONE,FILL:DEFAULT:NONE,FILL:7DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:7DLU:NONE","CENTER:9DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,FILL:50DLU:GROW(1.0),CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:9DLU:NONE");
120       CellConstraints cc = new CellConstraints();
121       jpanel1.setLayout(formlayout1);
122
123       _jrePathLabel.setIcon(loadImage("images/asterix-o.gif"));
124       _jrePathLabel.setName("jrePathLabel");
125       _jrePathLabel.setText(Messages.getString("jrePath"));
126       jpanel1.add(_jrePathLabel,cc.xy(2,2));
127
128       _jreMinLabel.setIcon(loadImage("images/asterix-o.gif"));
129       _jreMinLabel.setName("jreMinLabel");
130       _jreMinLabel.setText(Messages.getString("jreMin"));
131       jpanel1.add(_jreMinLabel,cc.xy(2,4));
132
133       _jreMaxLabel.setName("jreMaxLabel");
134       _jreMaxLabel.setText(Messages.getString("jreMax"));
135       jpanel1.add(_jreMaxLabel,cc.xy(2,6));
136
137       _jvmOptionsTextLabel.setName("jvmOptionsTextLabel");
138       _jvmOptionsTextLabel.setText(Messages.getString("jvmOptions"));
139       jpanel1.add(_jvmOptionsTextLabel,new CellConstraints(2,12,1,1,CellConstraints.DEFAULT,CellConstraints.TOP));
140
141       _jrePathField.setName("jrePathField");
142       _jrePathField.setToolTipText(Messages.getString("jrePathTip"));
143       jpanel1.add(_jrePathField,cc.xywh(4,2,5,1));
144
145       _jreMinField.setName("jreMinField");
146       jpanel1.add(_jreMinField,cc.xy(4,4));
147
148       _jreMaxField.setName("jreMaxField");
149       jpanel1.add(_jreMaxField,cc.xy(4,6));
150
151       _jvmOptionsTextArea.setName("jvmOptionsTextArea");
152       _jvmOptionsTextArea.setToolTipText(Messages.getString("jvmOptionsTip"));
153       JScrollPane JavaDoc jscrollpane1 = new JScrollPane JavaDoc();
154       jscrollpane1.setViewportView(_jvmOptionsTextArea);
155       jscrollpane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
156       jscrollpane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
157       jpanel1.add(jscrollpane1,cc.xywh(4,12,5,1));
158
159       _initialHeapSizeLabel.setName("initialHeapSizeLabel");
160       _initialHeapSizeLabel.setText(Messages.getString("initialHeapSize"));
161       jpanel1.add(_initialHeapSizeLabel,cc.xy(2,8));
162
163       _maxHeapSizeLabel.setName("maxHeapSizeLabel");
164       _maxHeapSizeLabel.setText(Messages.getString("maxHeapSize"));
165       jpanel1.add(_maxHeapSizeLabel,cc.xy(2,10));
166
167       JLabel JavaDoc jlabel1 = new JLabel JavaDoc();
168       jlabel1.setText("MB");
169       jpanel1.add(jlabel1,cc.xy(6,8));
170
171       JLabel JavaDoc jlabel2 = new JLabel JavaDoc();
172       jlabel2.setText("MB");
173       jpanel1.add(jlabel2,cc.xy(6,10));
174
175       _initialHeapSizeField.setName("initialHeapSizeField");
176       jpanel1.add(_initialHeapSizeField,cc.xy(4,8));
177
178       _maxHeapSizeField.setName("maxHeapSizeField");
179       jpanel1.add(_maxHeapSizeField,cc.xy(4,10));
180
181       _dontUsePrivateJresCheck.setActionCommand("Include private JREs in search");
182       _dontUsePrivateJresCheck.setName("dontUsePrivateJresCheck");
183       _dontUsePrivateJresCheck.setText(Messages.getString("dontUsePrivateJres"));
184       jpanel1.add(_dontUsePrivateJresCheck,cc.xy(8,4));
185
186       jpanel1.add(createPanel1(),cc.xywh(2,14,7,1));
187       addFillComponents(jpanel1,new int[]{ 1,2,3,4,5,6,7,8,9 },new int[]{ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 });
188       return jpanel1;
189    }
190
191    public JPanel JavaDoc createPanel1()
192    {
193       JPanel JavaDoc jpanel1 = new JPanel JavaDoc();
194       FormLayout formlayout1 = new FormLayout("RIGHT:MAX(65DLU;DEFAULT):NONE,FILL:3DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:3DLU:NONE,FILL:DEFAULT:NONE,FILL:3DLU:NONE,FILL:DEFAULT:NONE","CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE");
195       CellConstraints cc = new CellConstraints();
196       jpanel1.setLayout(formlayout1);
197
198       _varCombo.setName("varCombo");
199       jpanel1.add(_varCombo,cc.xy(3,1));
200
201       _propertyButton.setActionCommand("Add");
202       _propertyButton.setIcon(loadImage("images/edit_add16.png"));
203       _propertyButton.setName("propertyButton");
204       _propertyButton.setText(Messages.getString("property"));
205       _propertyButton.setToolTipText(Messages.getString("propertyTip"));
206       jpanel1.add(_propertyButton,cc.xy(5,1));
207
208       _optionButton.setActionCommand("Add");
209       _optionButton.setIcon(loadImage("images/edit_add16.png"));
210       _optionButton.setName("optionButton");
211       _optionButton.setText(Messages.getString("option"));
212       _optionButton.setToolTipText(Messages.getString("optionTip"));
213       jpanel1.add(_optionButton,cc.xy(7,1));
214
215       _envPropertyButton.setActionCommand("Add");
216       _envPropertyButton.setIcon(loadImage("images/edit_add16.png"));
217       _envPropertyButton.setName("envPropertyButton");
218       _envPropertyButton.setText(Messages.getString("property"));
219       _envPropertyButton.setToolTipText(Messages.getString("propertyTip"));
220       jpanel1.add(_envPropertyButton,cc.xy(5,3));
221
222       JLabel JavaDoc jlabel1 = new JLabel JavaDoc();
223       jlabel1.setText(Messages.getString("varsAndRegistry"));
224       jpanel1.add(jlabel1,cc.xy(1,1));
225
226       JLabel JavaDoc jlabel2 = new JLabel JavaDoc();
227       jlabel2.setIcon(loadImage("images/asterix.gif"));
228       jlabel2.setText(Messages.getString("envVar"));
229       jpanel1.add(jlabel2,cc.xy(1,3));
230
231       _envOptionButton.setActionCommand("Add");
232       _envOptionButton.setIcon(loadImage("images/edit_add16.png"));
233       _envOptionButton.setName("envOptionButton");
234       _envOptionButton.setText(Messages.getString("option"));
235       _envOptionButton.setToolTipText(Messages.getString("optionTip"));
236       jpanel1.add(_envOptionButton,cc.xy(7,3));
237
238       _envVarField.setName("envVarField");
239       jpanel1.add(_envVarField,cc.xy(3,3));
240
241       addFillComponents(jpanel1,new int[]{ 2,4,6 },new int[]{ 2 });
242       return jpanel1;
243    }
244
245    /**
246     * Initializer
247     */

248    protected void initializePanel()
249    {
250       setLayout(new BorderLayout JavaDoc());
251       add(createPanel(), BorderLayout.CENTER);
252    }
253
254
255 }
256
Popular Tags