Source of MemoGUI.java


  1: import javax.swing.JFrame;
  2: import javax.swing.JMenu;
  3: import javax.swing.JMenuBar;
  4: import javax.swing.JMenuItem;
  5: import javax.swing.JPanel;
  6: import javax.swing.JTextArea;
  7: import java.awt.Color;
  8: import java.awt.Container;
  9: import java.awt.BorderLayout;
 10: import java.awt.event.ActionEvent;
 11: import java.awt.event.ActionListener;
 12: 
 13: public class MemoGUI extends JFrame implements ActionListener
 14: {
 15:     public static final int WIDTH = 600;
 16:     public static final int HEIGHT = 300;
 17:     public static final int LINES = 10;
 18:     public static final int CHAR_PER_LINE = 40;
 19: 
 20:     private JTextArea theText;
 21:     private String memo1 = "No Memo 1.";
 22:     private String memo2 = "No Memo 2.";
 23: 
 24:     public MemoGUI( )
 25:     {
 26:         setSize(WIDTH, HEIGHT);
 27:         addWindowListener(new WindowDestroyer( ));
 28:         setTitle("Memo Saver");
 29:         Container contentPane = getContentPane( );                
 30:         contentPane.setLayout(new BorderLayout( ));
 31: 
 32:         JMenu memoMenu = new JMenu("Memos");
 33:         JMenuItem m;
 34: 
 35:         m = new JMenuItem("Save Memo 1");
 36:         m.addActionListener(this);
 37:         memoMenu.add(m);
 38: 
 39:         m = new JMenuItem("Save Memo 2");
 40:         m.addActionListener(this);
 41:         memoMenu.add(m);
 42: 
 43:         m = new JMenuItem("Get Memo 1");
 44:         m.addActionListener(this);
 45:         memoMenu.add(m);
 46: 
 47:         m = new JMenuItem("Get Memo 2");
 48:         m.addActionListener(this);
 49:         memoMenu.add(m);
 50: 
 51:         m = new JMenuItem("Clear");
 52:         m.addActionListener(this);
 53:         memoMenu.add(m);
 54: 
 55:         m = new JMenuItem("Exit");
 56:         m.addActionListener(this);
 57:         memoMenu.add(m);
 58: 
 59:         JMenuBar mBar = new JMenuBar( );
 60:         mBar.add(memoMenu);
 61:         setJMenuBar(mBar);
 62: 
 63:         JPanel textPanel = new JPanel( );
 64:         textPanel.setBackground(Color.BLUE);
 65:         theText = new JTextArea(LINES, CHAR_PER_LINE);
 66:         theText.setBackground(Color.WHITE);
 67:         textPanel.add(theText);
 68:         contentPane.add(textPanel, BorderLayout.CENTER);
 69:     }
 70: 
 71:     public void actionPerformed(ActionEvent e)
 72:     {
 73:         String actionCommand = e.getActionCommand( );
 74:         if (actionCommand.equals("Save Memo 1"))
 75:             memo1 = theText.getText( );
 76:         else if (actionCommand.equals("Save Memo 2"))
 77:             memo2 = theText.getText( );
 78:         else if (actionCommand.equals("Clear"))
 79:             theText.setText("");
 80:         else if (actionCommand.equals("Get Memo 1"))
 81:             theText.setText(memo1);
 82:         else if (actionCommand.equals("Get Memo 2"))
 83:             theText.setText(memo2);
 84:         else if (actionCommand.equals("Exit"))
 85:             System.exit(0);
 86:         else
 87:             theText.setText("Error in memo interface");
 88:     }
 89: 
 90:     public static void main(String[] args)
 91:     {
 92:         MemoGUI gui = new MemoGUI( );
 93:         gui.setVisible(true);
 94:     }
 95: }
 96: