/** DOCUMENT!!!!!!!!!!!!!!!!!!! @author Travis Zimmerman @version 1.0 File Name: SiteGUI.java */ import java.util.ArrayList; import java.io.*; import javax.swing.*; import javax.swing.border.*; import java.awt.*; import java.awt.event.*; public class SiteGUI extends JFrame { public SiteGUI() { mySites = new ArrayList(); setSize(WIDTH, HEIGHT); setLocation(OFFSET, OFFSET); setTitle("Site Manager v1.00"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); desktop = new JDesktopPane(); desktop.setBackground(Color.white); getContentPane().add(desktop, BorderLayout.CENTER); try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch(Exception e) { System.out.println("Error setting native LAF: " + e); } initMenu(); show(); } private void initMenu() { myMenuBar = new JMenuBar(); setJMenuBar(myMenuBar); myFileMenu = new JMenu("File"); mySitesMenu = new JMenu("Sites"); myHelpMenu = new JMenu( "Help" ); //create the menu items JMenuItem newSiteMenuItem = new JMenuItem("New Site"); JMenuItem openSiteMenuItem = new JMenuItem("Open Site"); JMenuItem editSiteMenuItem = new JMenuItem("Edit Site"); JMenuItem deleteSiteMenuItem = new JMenuItem("Delete Site"); JMenuItem textBackupMenuItem = new JMenuItem("Text Backup"); JMenuItem exitMenuItem = new JMenuItem("Exit"); JMenuItem aboutMenuItem = new JMenuItem("About Site Manager"); //add actionlisteneers here newSiteMenuItem.addActionListener( new newSiteItemListener() ); openSiteMenuItem.addActionListener( new openSiteItemListener() ); editSiteMenuItem.addActionListener( new editSiteItemListener() ); deleteSiteMenuItem.addActionListener( new deleteSiteItemListener() ); textBackupMenuItem.addActionListener( new textBackupItemListener() ); exitMenuItem.addActionListener( new exitItemListener() ); aboutMenuItem.addActionListener( new aboutItemListener() ); //add menu items to the menus myFileMenu.add(textBackupMenuItem); myFileMenu.add(exitMenuItem); mySitesMenu.add(newSiteMenuItem); mySitesMenu.add(openSiteMenuItem); mySitesMenu.add(editSiteMenuItem); mySitesMenu.add(deleteSiteMenuItem); myHelpMenu.add(aboutMenuItem); myMenuBar.add( myFileMenu ); myMenuBar.add( mySitesMenu ); myMenuBar.add( myHelpMenu ); } //create the listeners class newSiteItemListener implements ActionListener { public void actionPerformed(ActionEvent evt) { newSiteItemActionPerformed(evt); } } class openSiteItemListener implements ActionListener { public void actionPerformed(ActionEvent evt) { openSiteItemActionPerformed(evt); } } class editSiteItemListener implements ActionListener { public void actionPerformed(ActionEvent evt) { editSiteItemActionPerformed(evt); } } class deleteSiteItemListener implements ActionListener { public void actionPerformed(ActionEvent evt) { deleteSiteItemActionPerformed(evt); } } class textBackupItemListener implements ActionListener { public void actionPerformed(ActionEvent evt) { textBackupItemActionPerformed(evt); } } class exitItemListener implements ActionListener { public void actionPerformed(ActionEvent evt) { exitItemActionPerformed(evt); } } class aboutItemListener implements ActionListener { public void actionPerformed(ActionEvent evt) { aboutItemActionPerformed(evt); } } //create the handlers private void newSiteItemActionPerformed(ActionEvent evt) { NewSiteInternalFrame newSiteFrame = new NewSiteInternalFrame(); newSiteFrame.setVisible(true); desktop.add(newSiteFrame); try { newSiteFrame.setSelected(true); } catch (java.beans.PropertyVetoException e) {} } private void openSiteItemActionPerformed(ActionEvent evt) { OpenSiteInternalFrame openSiteFrame = new OpenSiteInternalFrame(); openSiteFrame.setVisible(true); desktop.add(openSiteFrame); try { openSiteFrame.setSelected(true); } catch (java.beans.PropertyVetoException e) {} } private void editSiteItemActionPerformed(ActionEvent evt) { EditSiteInternalFrame editSiteFrame = new EditSiteInternalFrame(); editSiteFrame.setVisible(true); desktop.add(editSiteFrame); try { editSiteFrame.setSelected(true); } catch (java.beans.PropertyVetoException e) {} } private void deleteSiteItemActionPerformed(ActionEvent evt) { DeleteSiteInternalFrame deleteSiteFrame = new DeleteSiteInternalFrame(); deleteSiteFrame.setVisible(true); desktop.add(deleteSiteFrame); try { deleteSiteFrame.setSelected(true); } catch (java.beans.PropertyVetoException e) {} } private void textBackupItemActionPerformed(ActionEvent evt) { try { PrintWriter out = new PrintWriter( new FileWriter("sites.txt") ); read(); for (int i = 0; i < mySites.size(); i++) out.println( ((Site)mySites.get(i)).toString() ); out.close(); } catch (java.io.IOException e) {} catch (java.lang.ClassNotFoundException e) {} String message = "Text backup of all sites created as \"sites.txt\""; JOptionPane messagePane = new JOptionPane(); messagePane.showMessageDialog(this, message); } private void exitItemActionPerformed(ActionEvent evt) { System.exit(0); } private void aboutItemActionPerformed(ActionEvent evt) { String about = "Site Manager\nVersion 1.00\nTravis Zimmerman\n05.26.04\nAll Rights Reserved."; JOptionPane aboutPane = new JOptionPane(); aboutPane.showMessageDialog(this, about); } private void save() throws IOException, ClassNotFoundException { File tempFile = new File("sites.tez"); ObjectOutputStream out = new ObjectOutputStream( new FileOutputStream(tempFile) ); out.writeObject(mySites); out.close(); } private void read() throws IOException, ClassNotFoundException { File tempFile = new File("sites.tez"); if (tempFile.exists()) { ObjectInputStream in = new ObjectInputStream(new FileInputStream(tempFile)); mySites = (ArrayList)in.readObject(); in.close(); } } public static void main( String []args ) { new SiteGUI(); } private ArrayList mySites; private JDesktopPane desktop; private JMenuBar myMenuBar; private JMenu myFileMenu; private JMenu mySitesMenu; private JMenu myHelpMenu; private final int WIDTH = 530; private final int HEIGHT = 600; private final int OFFSET = 50; }