import java.io.*; import java.awt.*; import javax.swing.*; import java.awt.event.*; public class Viking extends JFrame { private JMenuBar mb; private JMenu file, help, view, edit; private JMenuItem menuExit, menuAbout, menuTempEdit, menuCustBrow, menuLetterGen, menuSentLetter; private JDesktopPane desk; private ActionListener al; private CustomerBrowser cb; private Container window; private CustomerCollection cc; private LetterTemplateCollection ltc; private LetterGeneratorBrowser lgb; private Mailer mailer; private TemplateEditor te; private TagsCollection tagC; private MailerBrowser mbr; public static void main( String [] args ) { Viking dt = new Viking(); } public Viking() { tagC = new TagsCollection( "tags.db" ); cc = new CustomerCollection( "customer.db" ); mailer = new Mailer( "letter.db" ); mailer.loadRecords(); tagC.loadRecords(); cc.loadRecords(); ltc = new LetterTemplateCollection( "template.db" ); ltc.loadRecords(); setSize( 600, 450 ); setTitle( "The Viking" ); desk = new JDesktopPane(); setContentPane( desk ); window = getContentPane(); //window.add( lgb = new LetterGeneratorBrowser( cc, ltc, window ) ); help = new JMenu("Help"); help.setMnemonic('H'); file = new JMenu("File"); file.setMnemonic('F'); edit = new JMenu("Edit"); edit.setMnemonic('E'); view = new JMenu("View"); view.setMnemonic('V'); mb = new JMenuBar(); menuTempEdit = new JMenuItem("Templates"); menuTempEdit.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent e ) { if ( te == null ) window.add( te = new TemplateEditor( ltc, tagC, window ) ); else { if ( !te.isClosed() ) te.show(); else { window.add( te = new TemplateEditor( ltc, tagC, window ) ); te.show(); } } } } ); menuSentLetter = new JMenuItem( "Sent Letters" ); menuSentLetter.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent e ) { if ( mbr == null ) window.add( mbr = new MailerBrowser( mailer ) ); else { if ( !mbr.isClosed() ) mbr.show(); else { window.add( mbr = new MailerBrowser(mailer ) ); mbr.show(); } } } } ); menuLetterGen = new JMenuItem("Letter Generator"); menuLetterGen.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent e ) { if ( lgb == null ) window.add( lgb = new LetterGeneratorBrowser( cc, ltc, tagC, mailer, window ) ); else { if ( !lgb.isClosed() ) lgb.show(); else { window.add( lgb = new LetterGeneratorBrowser( cc, ltc, tagC, mailer, window ) ); lgb.show(); } } } } ); menuCustBrow = new JMenuItem("Customers"); menuCustBrow.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent e ) { if ( cb == null ) window.add( cb = new CustomerBrowser( cc ) ); else { if ( !cb.isClosed() ) cb.show(); else { window.add( cb = new CustomerBrowser( cc ) ); cb.show(); } } } } ); menuAbout = new JMenuItem("About"); menuAbout.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent e ) { JOptionPane.showInternalMessageDialog( window, "The Viking, written by \n Arun Buduri, Jake Holmes and Shaffi Al-Meher", "About Dialog", JOptionPane.INFORMATION_MESSAGE ); } } ); menuExit = new JMenuItem("Exit"); menuExit.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent e ) { dispose(); } } ); file.add( menuExit ); help.add( menuAbout ); edit.add( menuCustBrow ); edit.add( menuLetterGen ); edit.add( menuTempEdit ); edit.add( menuSentLetter ); setJMenuBar( mb ); mb.add( file ); mb.add( edit ); mb.add( help ); //desk.add( mb ); show(); } }