public class ScrollBarDemo extends JFrame implements ActionListener
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: }