KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > memoire > vainstall > gui > VAWelcomePanel


1 /**
2  * $RCSfile: VAWelcomePanel.java,v $
3  * @creation 01/02/00
4  * @modification $Date: 2005/03/30 19:42:11 $
5  */

6
7 package com.memoire.vainstall.gui;
8
9 import java.io.*;
10 import java.awt.*;
11 import java.awt.event.*;
12 import javax.swing.*;
13 import javax.swing.border.*;
14 import com.memoire.vainstall.VAGlobals;
15 import com.memoire.vainstall.VAWelcomeStep;
16
17 /**
18  * @version $Id: VAWelcomePanel.java,v 1.7 2005/03/30 19:42:11 deniger Exp $
19  * @author Axel von Arnim
20  */

21
22 public class VAWelcomePanel
23        extends VAPanel
24        implements ActionListener,VAWelcomeStep
25 {
26   Icon vaiLogo_;
27
28   public VAWelcomePanel()
29   {
30     super();
31     
32     setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
33     
34     JPanel pnMain=new JPanel();
35     pnMain.setBorder(new CompoundBorder(new EtchedBorder(),
36                                         new EmptyBorder(new Insets(5, 5, 5, 5))));
37     pnMain.setLayout(new GridLayout(2, 1));
38     
39     JPanel pnHaut=new JPanel();
40     pnHaut.setLayout(new BorderLayout());
41
42     JPanel pnTitle=new JPanel();
43     pnTitle.setOpaque(true);
44     pnTitle.setBackground(pnMain.getBackground().brighter());
45     pnTitle.setLayout(new BorderLayout());
46     pnTitle.setBorder(new EmptyBorder(new Insets(10, 2, 10, 2)));
47     
48     JLabel lbTitle;
49     if (VAGlobals.APP_VERSION != null)
50         lbTitle=new JLabel(VAGlobals.APP_NAME+" "+VAGlobals.APP_VERSION);
51     else
52         lbTitle=new JLabel(VAGlobals.APP_NAME+" (no version)");
53     lbTitle.setHorizontalAlignment(JLabel.CENTER);
54     lbTitle.setForeground(Color.red);
55     Font f=lbTitle.getFont().deriveFont(Font.BOLD, (float)20.);
56     lbTitle.setFont(f);
57     lbTitle.setOpaque(false);
58     pnTitle.add(BorderLayout.NORTH, lbTitle);
59     
60     JLabel lbTitle2=new JLabel(
61       VAGlobals.OPERATION==VAGlobals.INSTALL?VAGlobals.i18n("UI_Installation"):
62       VAGlobals.OPERATION==VAGlobals.UPDATE?VAGlobals.i18n("UI_Update"):
63       VAGlobals.OPERATION==VAGlobals.UNINSTALL?VAGlobals.i18n("UI_Uninstallation"):
64       VAGlobals.i18n("UI_UnknownOperation"));
65     lbTitle2.setHorizontalAlignment(JLabel.CENTER);
66     lbTitle2.setForeground(Color.red);
67     f=lbTitle2.getFont().deriveFont(Font.BOLD);
68     lbTitle2.setFont(f);
69     lbTitle2.setOpaque(false);
70     pnTitle.add(BorderLayout.SOUTH, lbTitle2);
71
72     JPanel pnAbout=new JPanel();
73     pnAbout.setLayout(new BorderLayout());
74     InputStream imgStream = VAGlobals.BASE_CLASS.getResourceAsStream("resources/vailogo.gif");
75
76     JButton btAbout;
77     if( imgStream!=null ) {
78       ByteArrayOutputStream dataStream=new ByteArrayOutputStream();
79       try {
80         byte[] buf=new byte[1024];
81         int read=imgStream.read(buf, 0, buf.length);
82         while( read>0 ) {
83           dataStream.write(buf, 0, read);
84           read=imgStream.read(buf, 0, buf.length);
85         }
86         imgStream.close();
87         vaiLogo_=new ImageIcon(dataStream.toByteArray());
88         dataStream.close();
89       } catch( IOException ex ) {}
90     }
91     if( vaiLogo_==null ) btAbout=new JButton(VAGlobals.i18n("VAWelcomePanel_About")+" "+VAGlobals.NAME);
92     else btAbout=new JButton(vaiLogo_);
93     btAbout.addActionListener(this);
94     pnAbout.add(BorderLayout.SOUTH, btAbout);
95
96     pnHaut.add(BorderLayout.NORTH, pnTitle);
97     pnHaut.add(BorderLayout.SOUTH, new JLabel(
98            VAGlobals.i18n("UI_ClickNextToStart")));
99     pnMain.add(pnHaut);
100     pnMain.add(pnAbout);
101
102     JComponent pnImage=VAImagePanel.IMAGE_PANEL;
103     add(pnImage);
104     add(pnMain);
105   }
106
107   public void actionPerformed(ActionEvent e)
108   {
109     JOptionPane.showMessageDialog(
110       null,
111       VAGlobals.NAME+" "+VAGlobals.VERSION+"\n"+
112       VAGlobals.AUTHOR+" <"+VAGlobals.EMAIL+">"+"\n"+
113       VAGlobals.HTTP+"\n"+
114       VAGlobals.i18n("VAWelcomePanel_License")+VAGlobals.LICENSE+"\n"+
115       VAGlobals.i18n("VAWelcomePanel_Copyright")+VAGlobals.COPYRIGHT,
116       VAGlobals.i18n("VAWelcomePanel_About"),
117       JOptionPane.INFORMATION_MESSAGE,
118       vaiLogo_);
119   }
120 }
121
Popular Tags