| 1 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 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 |