1 package jimm.datavision.gui; 2 import jimm.util.I18N; 3 import java.awt.*; 4 import java.awt.event.*; 5 import javax.swing.*; 6 import java.net.*; 7 8 9 17 public class StartupDialog extends JDialog implements ActionListener { 18 19 20 public static final String NEW_REPORT_STRING = "*StartANewReport*"; 21 22 23 protected static final String TITLE_IMAGE = "images/DVTitle.png"; 24 25 private JButton newReport = new JButton(I18N.get("StartupDialog.new")); 27 private JButton existingReport = new JButton(I18N.get("StartupDialog.open")); 28 private JButton quit = new JButton(I18N.get("StartupDialog.quit")); 29 30 private JButton titleImage = null; 34 35 private String selectedFile = null; 40 41 42 43 public StartupDialog() { 44 super((Frame)null, I18N.get("StartupDialog.title"), true); 45 46 setResizable(false); 48 setSize(580, 420); 49 50 setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE); 53 addWindowListener(new WindowAdapter() { 54 public void windowClosing(WindowEvent we) { 55 dispose(); 56 } 57 }); 58 59 Toolkit kit = this.getToolkit(); 61 Dimension screenSize = kit.getScreenSize(); 62 int screenWidth = screenSize.width; 63 int screenHeight = screenSize.height; 64 Dimension windowSize = getSize(); 65 int windowWidth = windowSize.width; 66 int windowHeight = windowSize.height; 67 int upperLeftX = (screenWidth - windowWidth) / 2; 68 int upperLeftY = (screenHeight - windowHeight) / 2; 69 setLocation(upperLeftX, upperLeftY); 70 71 URL url = getClass().getClassLoader().getResource(TITLE_IMAGE); 73 Image img = Toolkit.getDefaultToolkit().getImage(url); 74 JPanel p1 = new JPanel(); 75 titleImage = new JButton(new ImageIcon(img)); 76 titleImage.setBorderPainted(false); 77 titleImage.setContentAreaFilled(false); 78 titleImage.setFocusPainted(false); 79 p1.setLayout(new FlowLayout(FlowLayout.CENTER, 10, 10)); 80 p1.add(titleImage); 81 getContentPane().add("Center", p1); 82 83 JPanel p2 = new JPanel(); 85 p2.setLayout(new FlowLayout(FlowLayout.CENTER, 50, 10)); 86 newReport.addActionListener(this); 87 p2.add(newReport); 88 existingReport.addActionListener(this); 89 p2.add(existingReport); 90 quit.addActionListener(this); 91 p2.add(quit); 92 getContentPane().add("South", p2); 93 94 show(); 96 97 } 99 100 101 public void actionPerformed(ActionEvent ae) { 102 103 String ac = ae.getActionCommand(); 104 105 if (ac.equalsIgnoreCase(I18N.get("StartupDialog.open"))) { 107 JFileChooser jfc = new JFileChooser(); 108 jfc.setMultiSelectionEnabled(false); 109 int rv = jfc.showOpenDialog(this); 110 if (rv == JFileChooser.APPROVE_OPTION) { 111 selectedFile = jfc.getSelectedFile().getPath(); 112 dispose(); 113 } 114 } 115 116 else if (ac.equalsIgnoreCase(I18N.get("StartupDialog.new"))) { 118 selectedFile = NEW_REPORT_STRING; 119 dispose(); 120 } 121 122 else if (ac.equalsIgnoreCase(I18N.get("StartupDialog.quit"))) { 124 dispose(); 125 System.exit(0); 126 } 127 128 } 130 131 132 public String getSelectedFile() { 133 return selectedFile; 134 } 136 137 } | Popular Tags |