KickJava   Java API By Example, From Geeks To Geeks.

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


1 package net.sf.launch4j.form;
2
3 import com.jeta.forms.components.separator.TitledSeparator;
4 import com.jgoodies.forms.layout.CellConstraints;
5 import com.jgoodies.forms.layout.FormLayout;
6 import java.awt.BorderLayout JavaDoc;
7 import java.awt.Container JavaDoc;
8 import java.awt.Dimension JavaDoc;
9 import javax.swing.Box JavaDoc;
10 import javax.swing.ImageIcon JavaDoc;
11 import javax.swing.JCheckBox JavaDoc;
12 import javax.swing.JLabel JavaDoc;
13 import javax.swing.JPanel JavaDoc;
14 import javax.swing.JTextField JavaDoc;
15
16 public abstract class VersionInfoForm extends JPanel JavaDoc
17 {
18    protected final JCheckBox JavaDoc _versionInfoCheck = new JCheckBox JavaDoc();
19    protected final JLabel JavaDoc _fileVersionLabel = new JLabel JavaDoc();
20    protected final JTextField JavaDoc _fileVersionField = new JTextField JavaDoc();
21    protected final TitledSeparator _addVersionInfoSeparator = new TitledSeparator();
22    protected final JLabel JavaDoc _productVersionLabel = new JLabel JavaDoc();
23    protected final JTextField JavaDoc _productVersionField = new JTextField JavaDoc();
24    protected final JLabel JavaDoc _fileDescriptionLabel = new JLabel JavaDoc();
25    protected final JTextField JavaDoc _fileDescriptionField = new JTextField JavaDoc();
26    protected final JLabel JavaDoc _copyrightLabel = new JLabel JavaDoc();
27    protected final JTextField JavaDoc _copyrightField = new JTextField JavaDoc();
28    protected final JLabel JavaDoc _txtFileVersionLabel = new JLabel JavaDoc();
29    protected final JTextField JavaDoc _txtFileVersionField = new JTextField JavaDoc();
30    protected final JLabel JavaDoc _txtProductVersionLabel = new JLabel JavaDoc();
31    protected final JTextField JavaDoc _txtProductVersionField = new JTextField JavaDoc();
32    protected final JLabel JavaDoc _productNameLabel = new JLabel JavaDoc();
33    protected final JTextField JavaDoc _productNameField = new JTextField JavaDoc();
34    protected final JLabel JavaDoc _originalFilenameLabel = new JLabel JavaDoc();
35    protected final JTextField JavaDoc _originalFilenameField = new JTextField JavaDoc();
36    protected final JLabel JavaDoc _internalNameLabel = new JLabel JavaDoc();
37    protected final JTextField JavaDoc _internalNameField = new JTextField JavaDoc();
38    protected final JLabel JavaDoc _companyNameLabel = new JLabel JavaDoc();
39    protected final JTextField JavaDoc _companyNameField = new JTextField JavaDoc();
40
41    /**
42     * Default constructor
43     */

44    public VersionInfoForm()
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:7DLU:NONE,RIGHT:DEFAULT:NONE,FILL:3DLU: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: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,CENTER:DEFAULT:NONE,CENTER:9DLU:NONE");
120       CellConstraints cc = new CellConstraints();
121       jpanel1.setLayout(formlayout1);
122
123       _versionInfoCheck.setActionCommand("Add version information");
124       _versionInfoCheck.setName("versionInfoCheck");
125       _versionInfoCheck.setText(Messages.getString("addVersionInfo"));
126       jpanel1.add(_versionInfoCheck,cc.xywh(4,2,5,1));
127
128       _fileVersionLabel.setIcon(loadImage("images/asterix.gif"));
129       _fileVersionLabel.setName("fileVersionLabel");
130       _fileVersionLabel.setText(Messages.getString("fileVersion"));
131       jpanel1.add(_fileVersionLabel,cc.xy(2,4));
132
133       _fileVersionField.setName("fileVersionField");
134       _fileVersionField.setToolTipText(Messages.getString("fileVersionTip"));
135       jpanel1.add(_fileVersionField,cc.xy(4,4));
136
137       _addVersionInfoSeparator.setName("addVersionInfoSeparator");
138       _addVersionInfoSeparator.setText("Additional information");
139       jpanel1.add(_addVersionInfoSeparator,cc.xywh(2,10,7,1));
140
141       _productVersionLabel.setIcon(loadImage("images/asterix.gif"));
142       _productVersionLabel.setName("productVersionLabel");
143       _productVersionLabel.setText(Messages.getString("productVersion"));
144       jpanel1.add(_productVersionLabel,cc.xy(2,12));
145
146       _productVersionField.setName("productVersionField");
147       _productVersionField.setToolTipText(Messages.getString("productVersionTip"));
148       jpanel1.add(_productVersionField,cc.xy(4,12));
149
150       _fileDescriptionLabel.setIcon(loadImage("images/asterix.gif"));
151       _fileDescriptionLabel.setName("fileDescriptionLabel");
152       _fileDescriptionLabel.setText(Messages.getString("fileDescription"));
153       jpanel1.add(_fileDescriptionLabel,cc.xy(2,6));
154
155       _fileDescriptionField.setName("fileDescriptionField");
156       _fileDescriptionField.setToolTipText(Messages.getString("fileDescriptionTip"));
157       jpanel1.add(_fileDescriptionField,cc.xywh(4,6,5,1));
158
159       _copyrightLabel.setIcon(loadImage("images/asterix.gif"));
160       _copyrightLabel.setName("copyrightLabel");
161       _copyrightLabel.setText(Messages.getString("copyright"));
162       jpanel1.add(_copyrightLabel,cc.xy(2,8));
163
164       _copyrightField.setName("copyrightField");
165       jpanel1.add(_copyrightField,cc.xywh(4,8,5,1));
166
167       _txtFileVersionLabel.setIcon(loadImage("images/asterix.gif"));
168       _txtFileVersionLabel.setName("txtFileVersionLabel");
169       _txtFileVersionLabel.setText(Messages.getString("txtFileVersion"));
170       jpanel1.add(_txtFileVersionLabel,cc.xy(6,4));
171
172       _txtFileVersionField.setName("txtFileVersionField");
173       _txtFileVersionField.setToolTipText(Messages.getString("txtFileVersionTip"));
174       jpanel1.add(_txtFileVersionField,cc.xy(8,4));
175
176       _txtProductVersionLabel.setIcon(loadImage("images/asterix.gif"));
177       _txtProductVersionLabel.setName("txtProductVersionLabel");
178       _txtProductVersionLabel.setText(Messages.getString("txtProductVersion"));
179       jpanel1.add(_txtProductVersionLabel,cc.xy(6,12));
180
181       _txtProductVersionField.setName("txtProductVersionField");
182       _txtProductVersionField.setToolTipText(Messages.getString("txtProductVersionTip"));
183       jpanel1.add(_txtProductVersionField,cc.xy(8,12));
184
185       _productNameLabel.setIcon(loadImage("images/asterix.gif"));
186       _productNameLabel.setName("productNameLabel");
187       _productNameLabel.setText(Messages.getString("productName"));
188       jpanel1.add(_productNameLabel,cc.xy(2,14));
189
190       _productNameField.setName("productNameField");
191       jpanel1.add(_productNameField,cc.xywh(4,14,5,1));
192
193       _originalFilenameLabel.setIcon(loadImage("images/asterix.gif"));
194       _originalFilenameLabel.setName("originalFilenameLabel");
195       _originalFilenameLabel.setText(Messages.getString("originalFilename"));
196       jpanel1.add(_originalFilenameLabel,cc.xy(2,20));
197
198       _originalFilenameField.setName("originalFilenameField");
199       _originalFilenameField.setToolTipText(Messages.getString("originalFilenameTip"));
200       jpanel1.add(_originalFilenameField,cc.xywh(4,20,5,1));
201
202       _internalNameLabel.setIcon(loadImage("images/asterix.gif"));
203       _internalNameLabel.setName("internalNameLabel");
204       _internalNameLabel.setText(Messages.getString("internalName"));
205       jpanel1.add(_internalNameLabel,cc.xy(2,18));
206
207       _internalNameField.setName("internalNameField");
208       _internalNameField.setToolTipText(Messages.getString("internalNameTip"));
209       jpanel1.add(_internalNameField,cc.xywh(4,18,5,1));
210
211       _companyNameLabel.setName("companyNameLabel");
212       _companyNameLabel.setText(Messages.getString("companyName"));
213       jpanel1.add(_companyNameLabel,cc.xy(2,16));
214
215       _companyNameField.setName("companyNameField");
216       jpanel1.add(_companyNameField,cc.xywh(4,16,5,1));
217
218       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,16,17,18,19,20,21 });
219       return jpanel1;
220    }
221
222    /**
223     * Initializer
224     */

225    protected void initializePanel()
226    {
227       setLayout(new BorderLayout JavaDoc());
228       add(createPanel(), BorderLayout.CENTER);
229    }
230
231
232 }
233
Popular Tags