KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > memoire > vainstall > builder > gui > ProductTargetPanel


1 /*
2  * $RCSfile: ProductTargetPanel.java,v $
3  * @modification $Date: 2002/12/16 13:23:45 $
4  * @version $Id: ProductTargetPanel.java,v 1.2 2002/12/16 13:23:45 deniger Exp $
5  *
6  */

7
8 package com.memoire.vainstall.builder.gui;
9
10 import com.memoire.vainstall.VAGlobals;
11 import com.memoire.vainstall.builder.*;
12
13 import java.awt.*;
14 import java.awt.event.*;
15
16 import javax.swing.*;
17 import javax.swing.border.*;
18
19 /**
20  * This panel is shown in the product dialog
21  *
22  * This is not just a view panel because it has a reference to the
23  * VAIProductModel.
24  *
25  *
26  * @see com.memoire.vainstall.builder.gui.VAIProductInternalFrame
27  * @see javax.swing.JPanel
28  *
29  * @author Henrik Falk
30  * @version $Id: ProductTargetPanel.java,v 1.2 2002/12/16 13:23:45 deniger Exp $
31  */

32 public class ProductTargetPanel extends JPanel implements FocusListener, ItemListener {
33
34     private VAIProductModel model;
35
36     private final static Border loweredBorder = new SoftBevelBorder(BevelBorder.LOWERED);
37
38     JCheckBox javaBox;
39
40     JCheckBox jarBox;
41     JTextField jarSignerAliasField;
42     JTextField jarSignerPassphraseField;
43
44     JCheckBox jnlpBox;
45     JTextField jnlpCodebaseField;
46     JTextField jnlpHomepageField;
47     JTextField jnlpVendorField;
48
49     JCheckBox unixBox;
50     JCheckBox linuxi386Box;
51     JCheckBox win95Box;
52
53     public ProductTargetPanel() {
54
55         setBorder(loweredBorder);
56
57         GridBagLayout layout = new GridBagLayout();
58         setLayout(layout);
59
60         GridBagConstraints contraint=new GridBagConstraints();
61 /*
62
63 # targets: java, jar, jnlp, unix, linux-i386, win95 (comma separated)
64 vainstall.destination.targets=unix,win95,java
65
66 # Jar Section
67 vainstall.jarsigner.alias=desnoix
68 #vainstall.jarsigner.passphrase=
69
70 # Jnlp Section
71 vainstall.jnlp.codebase=http://localhost/app/
72 vainstall.jnlp.homepage=http://localhost/
73 vainstall.jnlp.vendor=MyName
74 */

75
76         JLabel targetLabel = new JLabel();
77         targetLabel.setText("Select targets that VAInstall should build:");
78         contraint.fill = GridBagConstraints.NONE;
79         contraint.insets = new Insets(16,16,0,16);
80         contraint.anchor = GridBagConstraints.WEST;
81         contraint.gridx = 0;
82         contraint.gridy = 0;
83         contraint.gridwidth = 2;
84         contraint.gridheight = 1;
85         contraint.weightx = 0;
86         contraint.weighty = 0;
87         layout.setConstraints(targetLabel,contraint);
88         add(targetLabel);
89
90         javaBox = new JCheckBox();
91         javaBox.setText("Java. (*.class)");
92         contraint.fill = GridBagConstraints.NONE;
93         contraint.insets = new Insets(16,32,0,16);
94         contraint.anchor = GridBagConstraints.WEST;
95         contraint.gridx = 0;
96         contraint.gridy = 1;
97         contraint.gridwidth = 1;
98         contraint.gridheight = 1;
99         contraint.weightx = 0;
100         contraint.weighty = 0;
101         layout.setConstraints(javaBox,contraint);
102         add(javaBox);
103
104         jarBox = new JCheckBox();
105         jarBox.setText("Jar. (*.jar)");
106         contraint.fill = GridBagConstraints.NONE;
107         contraint.insets = new Insets(4,32,0,16);
108         contraint.anchor = GridBagConstraints.WEST;
109         contraint.gridx = 0;
110         contraint.gridy = 2;
111         contraint.gridwidth = 1;
112         contraint.gridheight = 1;
113         contraint.weightx = 0;
114         contraint.weighty = 0;
115         layout.setConstraints(jarBox,contraint);
116         add(jarBox);
117
118         // Jar stuff
119
JLabel jarSignerAliasLabel = new JLabel();
120         jarSignerAliasLabel.setText("Jar Signer Alias:");
121         contraint.fill = GridBagConstraints.NONE;
122         contraint.insets = new Insets(4,64,0,16);
123         contraint.anchor = GridBagConstraints.EAST;
124         contraint.gridx = 0;
125         contraint.gridy = 3;
126         contraint.gridwidth = 1;
127         contraint.gridheight = 1;
128         contraint.weightx = 0;
129         contraint.weighty = 0;
130         layout.setConstraints(jarSignerAliasLabel,contraint);
131         add(jarSignerAliasLabel);
132
133         jarSignerAliasField = new JTextField();
134         jarSignerAliasField.setEditable(false);
135         contraint.fill = GridBagConstraints.HORIZONTAL;
136         contraint.insets = new Insets(4,64,0,16);
137         contraint.anchor = GridBagConstraints.WEST;
138         contraint.gridx = 1;
139         contraint.gridy = 3;
140         contraint.gridwidth = 1;
141         contraint.gridheight = 1;
142         contraint.weightx = 1;
143         contraint.weighty = 0;
144         layout.setConstraints(jarSignerAliasField,contraint);
145         add(jarSignerAliasField);
146
147         JLabel jarSignerPassphraseLabel = new JLabel();
148         jarSignerPassphraseLabel.setText("Jar Signer Passphrase:");
149         contraint.fill = GridBagConstraints.NONE;
150         contraint.insets = new Insets(4,64,0,16);
151         contraint.anchor = GridBagConstraints.EAST;
152         contraint.gridx = 0;
153         contraint.gridy = 4;
154         contraint.gridwidth = 1;
155         contraint.gridheight = 1;
156         contraint.weightx = 0;
157         contraint.weighty = 0;
158         layout.setConstraints(jarSignerPassphraseLabel,contraint);
159         add(jarSignerPassphraseLabel);
160
161         jarSignerPassphraseField = new JTextField();
162         jarSignerPassphraseField.setEditable(false);
163         contraint.fill = GridBagConstraints.HORIZONTAL;
164         contraint.insets = new Insets(4,64,0,16);
165         contraint.anchor = GridBagConstraints.WEST;
166         contraint.gridx = 1;
167         contraint.gridy = 4;
168         contraint.gridwidth = 1;
169         contraint.gridheight = 1;
170         contraint.weightx = 1;
171         contraint.weighty = 0;
172         layout.setConstraints(jarSignerPassphraseField,contraint);
173         add(jarSignerPassphraseField);
174
175         jnlpBox = new JCheckBox();
176         jnlpBox.setText("Jnlp. (*.jnlp)");
177         contraint.fill = GridBagConstraints.NONE;
178         contraint.insets = new Insets(4,32,0,16);
179         contraint.anchor = GridBagConstraints.WEST;
180         contraint.gridx = 0;
181         contraint.gridy = 5;
182         contraint.gridwidth = 1;
183         contraint.gridheight = 1;
184         contraint.weightx = 0;
185         contraint.weighty = 0;
186         layout.setConstraints(jnlpBox,contraint);
187         add(jnlpBox);
188
189         // Jnlp stuff
190
JLabel jnlpCodebaseLabel = new JLabel();
191         jnlpCodebaseLabel.setText("Jnlp Codebase:");
192         contraint.fill = GridBagConstraints.NONE;
193         contraint.insets = new Insets(4,64,0,16);
194         contraint.anchor = GridBagConstraints.EAST;
195         contraint.gridx = 0;
196         contraint.gridy = 6;
197         contraint.gridwidth = 1;
198         contraint.gridheight = 1;
199         contraint.weightx = 0;
200         contraint.weighty = 0;
201         layout.setConstraints(jnlpCodebaseLabel,contraint);
202         add(jnlpCodebaseLabel);
203
204         jnlpCodebaseField = new JTextField();
205         jnlpCodebaseField.setEditable(false);
206         contraint.fill = GridBagConstraints.HORIZONTAL;
207         contraint.insets = new Insets(4,64,0,16);
208         contraint.anchor = GridBagConstraints.WEST;
209         contraint.gridx = 1;
210         contraint.gridy = 6;
211         contraint.gridwidth = 1;
212         contraint.gridheight = 1;
213         contraint.weightx = 1;
214         contraint.weighty = 0;
215         layout.setConstraints(jnlpCodebaseField,contraint);
216         add(jnlpCodebaseField);
217
218         JLabel jnlpHomepageLabel = new JLabel();
219         jnlpHomepageLabel.setText("Jnlp Homepage:");
220         contraint.fill = GridBagConstraints.NONE;
221         contraint.insets = new Insets(4,64,0,16);
222         contraint.anchor = GridBagConstraints.EAST;
223         contraint.gridx = 0;
224         contraint.gridy = 7;
225         contraint.gridwidth = 1;
226         contraint.gridheight = 1;
227         contraint.weightx = 0;
228         contraint.weighty = 0;
229         layout.setConstraints(jnlpHomepageLabel,contraint);
230         add(jnlpHomepageLabel);
231
232         jnlpHomepageField = new JTextField();
233         jnlpHomepageField.setEditable(false);
234         contraint.fill = GridBagConstraints.HORIZONTAL;
235         contraint.insets = new Insets(4,64,0,16);
236         contraint.anchor = GridBagConstraints.WEST;
237         contraint.gridx = 1;
238         contraint.gridy = 7;
239         contraint.gridwidth = 1;
240         contraint.gridheight = 1;
241         contraint.weightx = 1;
242         contraint.weighty = 0;
243         layout.setConstraints(jnlpHomepageField,contraint);
244         add(jnlpHomepageField);
245
246         JLabel jnlpVendorLabel = new JLabel();
247         jnlpVendorLabel.setText("Jnlp Vendor:");
248         contraint.fill = GridBagConstraints.NONE;
249         contraint.insets = new Insets(4,64,0,16);
250         contraint.anchor = GridBagConstraints.EAST;
251         contraint.gridx = 0;
252         contraint.gridy = 8;
253         contraint.gridwidth = 1;
254         contraint.gridheight = 1;
255         contraint.weightx = 0;
256         contraint.weighty = 0;
257         layout.setConstraints(jnlpVendorLabel,contraint);
258         add(jnlpVendorLabel);
259
260         jnlpVendorField = new JTextField();
261         jnlpVendorField.setEditable(false);
262         contraint.fill = GridBagConstraints.HORIZONTAL;
263         contraint.insets = new Insets(4,64,0,16);
264         contraint.anchor = GridBagConstraints.WEST;
265         contraint.gridx = 1;
266         contraint.gridy = 8;
267         contraint.gridwidth = 1;
268         contraint.gridheight = 1;
269         contraint.weightx = 1;
270         contraint.weighty = 0;
271         layout.setConstraints(jnlpVendorField,contraint);
272         add(jnlpVendorField);
273
274         unixBox = new JCheckBox();
275         unixBox.setText("Unix. (*.sh)");
276         contraint.fill = GridBagConstraints.NONE;
277         contraint.insets = new Insets(4,32,0,16);
278         contraint.anchor = GridBagConstraints.WEST;
279         contraint.gridx = 0;
280         contraint.gridy = 9;
281         contraint.gridwidth = 1;
282         contraint.gridheight = 1;
283         contraint.weightx = 0;
284         contraint.weighty = 0;
285         layout.setConstraints(unixBox,contraint);
286         add(unixBox);
287
288         linuxi386Box = new JCheckBox();
289         linuxi386Box.setText("Linux - i386. (*.lin)");
290         contraint.fill = GridBagConstraints.NONE;
291         contraint.insets = new Insets(4,32,0,16);
292         contraint.anchor = GridBagConstraints.WEST;
293         contraint.gridx = 0;
294         contraint.gridy = 10;
295         contraint.gridwidth = 1;
296         contraint.gridheight = 1;
297         contraint.weightx = 0;
298         contraint.weighty = 0;
299         layout.setConstraints(linuxi386Box,contraint);
300         add(linuxi386Box);
301
302         win95Box = new JCheckBox();
303         win95Box.setText("Windows - 95. (*.exe)");
304         contraint.fill = GridBagConstraints.NONE;
305         contraint.insets = new Insets(4,32,0,16);
306         contraint.anchor = GridBagConstraints.WEST;
307         contraint.gridx = 0;
308         contraint.gridy = 11;
309         contraint.gridwidth = 1;
310         contraint.gridheight = 1;
311         contraint.weightx = 0;
312         contraint.weighty = 0;
313         layout.setConstraints(win95Box,contraint);
314         add(win95Box);
315
316         JPanel fillPanel = new JPanel();
317         contraint.fill = GridBagConstraints.BOTH;
318         contraint.insets = new Insets(4,4,4,4);
319         contraint.anchor = GridBagConstraints.CENTER;
320         contraint.gridx = 0;
321         contraint.gridy = 12;
322         contraint.gridwidth = 1;
323         contraint.gridheight = 1;
324         contraint.weightx = 0;
325         contraint.weighty = 1;
326         layout.setConstraints(fillPanel,contraint);
327         add(fillPanel);
328
329     }
330
331
332     /**
333      * save
334      */

335     public void save() {
336     }
337
338     /**
339      * initialize the panel
340      */

341     public void initialize(VAIProductModel model) {
342         this.model = model;
343
344         if(model.getTargetList().contains("java") == true) {
345             javaBox.setSelected(true);
346         }
347
348         if(model.getTargetList().contains("jar") == true) {
349             jarBox.setSelected(true);
350             if (model.getProperty("vainstall.archiver.target.jar.signer.alias") != null) {
351                 jarSignerAliasField.setText(model.getProperty("vainstall.archiver.target.jar.signer.alias"));
352             }
353             if (model.getProperty("vainstall.archiver.target.jar.signer.passphrase") != null) {
354                 jarSignerPassphraseField.setText(model.getProperty("vainstall.archiver.target.jar.signer.passphrase"));
355             }
356
357             jarSignerAliasField.setEditable(true);
358             jarSignerPassphraseField.setEditable(true);
359         }
360
361         if(model.getTargetList().contains("jnlp") == true) {
362             jnlpBox.setSelected(true);
363
364             if (model.getProperty("vainstall.archiver.target.jnlp.codebase") != null) {
365                 jnlpCodebaseField.setText(model.getProperty("vainstall.archiver.target.jnlp.codebase"));
366             }
367             if (model.getProperty("vainstall.archiver.target.jnlp.homepage") != null) {
368                 jnlpHomepageField.setText(model.getProperty("vainstall.archiver.target.jnlp.homepage"));
369             }
370             if (model.getProperty("vainstall.archiver.target.jnlp.vendor") != null) {
371                 jnlpVendorField.setText(model.getProperty("vainstall.archiver.target.jnlp.vendor"));
372             }
373
374             jnlpCodebaseField.setEditable(true);
375             jnlpHomepageField.setEditable(true);
376             jnlpVendorField.setEditable(true);
377         }
378
379         if(model.getTargetList().contains("unix") == true) {
380             unixBox.setSelected(true);
381         }
382
383         if(model.getTargetList().contains("linux-i386") == true) {
384             linuxi386Box.setSelected(true);
385         }
386
387         if(model.getTargetList().contains("win95") == true) {
388             win95Box.setSelected(true);
389         }
390
391         javaBox.addItemListener(this);
392         jarBox.addItemListener(this);
393         jnlpBox.addItemListener(this);
394         unixBox.addItemListener(this);
395         linuxi386Box.addItemListener(this);
396         win95Box.addItemListener(this);
397
398         jarSignerPassphraseField.addFocusListener(this);
399         jarSignerAliasField.addFocusListener(this);
400         jnlpHomepageField.addFocusListener(this);
401         jnlpVendorField.addFocusListener(this);
402         jnlpCodebaseField.addFocusListener(this);
403
404     }
405
406     /**
407      * stop
408      */

409     public void stop() {
410     }
411
412     public void focusGained(FocusEvent evt) {
413     }
414
415     public void focusLost(FocusEvent evt) {
416
417         if (evt.getSource() == jarSignerPassphraseField) {
418             model.putProperty("vainstall.archiver.target.jar.signer.passphrase",jarSignerPassphraseField.getText());
419         }
420
421         if (evt.getSource() == jarSignerAliasField) {
422             model.putProperty("vainstall.archiver.target.jar.signer.alias",jarSignerAliasField.getText());
423         }
424
425         if (evt.getSource() == jnlpHomepageField) {
426             model.putProperty("vainstall.archiver.target.jnlp.codebase",jnlpHomepageField.getText());
427         }
428
429         if (evt.getSource() == jnlpVendorField) {
430             model.putProperty("vainstall.archiver.target.jnlp.homepage",jnlpVendorField.getText());
431         }
432
433         if (evt.getSource() == jnlpCodebaseField) {
434             model.putProperty("vainstall.archiver.target.jnlp.vendor",jnlpCodebaseField.getText());
435         }
436     }
437
438     public void itemStateChanged(ItemEvent evt) {
439
440         if (evt.getItem() == javaBox) {
441             if (javaBox.isSelected() == true) {
442                 model.addTarget("java");
443             } else {
444                 model.removeTarget("java");
445             }
446         }
447
448         if (evt.getItem() == jarBox) {
449             if (jarBox.isSelected() == true) {
450                 jarSignerPassphraseField.setEditable(true);
451                 jarSignerAliasField.setEditable(true);
452                 jarSignerAliasField.requestFocus();
453
454                 model.addTarget("jar");
455             } else {
456                 jarSignerAliasField.setText("");
457                 jarSignerAliasField.setEditable(false);
458                 jarSignerPassphraseField.setText("");
459                 jarSignerPassphraseField.setEditable(false);
460
461                 model.removeTarget("jar");
462                 model.removeProperty("vainstall.archiver.target.jar.signer.alias");
463                 model.removeProperty("vainstall.archiver.target.jar.signer.passphrase");
464             }
465         }
466
467         if (evt.getItem() == jnlpBox) {
468             if (jnlpBox.isSelected() == true) {
469                 jnlpHomepageField.setEditable(true);
470                 jnlpVendorField.setEditable(true);
471                 jnlpCodebaseField.setEditable(true);
472                 jnlpCodebaseField.requestFocus();
473
474                 model.addTarget("jnlp");
475             } else {
476                 jnlpHomepageField.setEditable(false);
477                 jnlpHomepageField.setText("");
478                 jnlpVendorField.setEditable(false);
479                 jnlpVendorField.setText("");
480                 jnlpCodebaseField.setEditable(false);
481                 jnlpCodebaseField.setText("");
482
483                 model.removeTarget("jnlp");
484                 model.removeProperty("vainstall.archiver.target.jnlp.codebase");
485                 model.removeProperty("vainstall.archiver.target.jnlp.homepage");
486                 model.removeProperty("vainstall.archiver.target.jnlp.vendor");
487             }
488         }
489
490         if (evt.getItem() == unixBox) {
491             if (unixBox.isSelected() == true) {
492                 model.addTarget("unix");
493             } else {
494                 model.removeTarget("unix");
495             }
496         }
497
498         if (evt.getItem() == linuxi386Box) {
499             if (linuxi386Box.isSelected() == true) {
500                 model.addTarget("linux-i386");
501             } else {
502                 model.removeTarget("linux-i386");
503             }
504         }
505
506         if (evt.getItem() == win95Box) {
507             if (win95Box.isSelected() == true) {
508                 model.addTarget("win95");
509             } else {
510                 model.removeTarget("win95");
511             }
512         }
513
514     }
515 }
516
Popular Tags