1 22 package org.aspectj.debugger.gui; 23 24 import org.aspectj.util.gui.*; 25 26 import java.awt.*; 27 import java.awt.event.*; 28 import javax.swing.*; 29 import javax.swing.border.*; 30 31 public class StartupScreen extends org.aspectj.util.gui.CenteredJFrame { 32 33 public static void main(String [] args) { 34 final StartupScreen ss = new StartupScreen(); 35 ss.pack(); 36 ss.setVisible(true); 37 38 Thread thread = new Thread () { 39 int i = 0; 40 boolean running = true; 41 public void run() { 42 while (true) { 43 try { 44 if (i == 10) { 45 ss.setVisible(false); 46 ss.dispose(); 47 running = false; 48 } 49 ss.setProgress((i++) + ""); 50 Thread.sleep(1000); 51 } catch (Exception e) { 52 53 } 54 } 55 } 56 }; 57 thread.run(); 58 } 59 60 final String imageName = "C:\\src\\aspectj.gif"; 61 JLabel progress; 62 63 public StartupScreen() { 64 super("Starting AJDB..."); 65 66 JPanel panel = new JPanel(); 67 panel.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED)); 68 panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); 69 ImageIcon image = new ImageIcon(imageName); 70 panel.add(new JLabel(image)); 71 72 progress = new JLabel(); 73 setProgress("Progress..."); 74 panel.add(progress); 75 76 getContentPane().add(panel); 77 78 addWindowListener(new WindowAdapter() { 79 public void windowClosing(WindowEvent e) { 80 System.exit(0); 81 } 82 }); 83 } 84 85 public void setProgress(String str) { 86 progress.setText(str); 87 } 88 } | Popular Tags |