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