comparison examples/gui/swing/MenuLookDemo.java @ 1:5df24c91468d

Oh my what a mess.
author samer
date Fri, 05 Apr 2019 16:26:00 +0100
parents
children
comparison
equal deleted inserted replaced
0:bf79fb79ee13 1:5df24c91468d
1 import java.awt.*;
2 import java.awt.event.*;
3 import javax.swing.JMenu;
4 import javax.swing.JMenuItem;
5 import javax.swing.JCheckBoxMenuItem;
6 import javax.swing.JRadioButtonMenuItem;
7 import javax.swing.ButtonGroup;
8 import javax.swing.JMenuBar;
9 import javax.swing.KeyStroke;
10 import javax.swing.ImageIcon;
11
12 import javax.swing.JTextArea;
13 import javax.swing.JScrollPane;
14 import javax.swing.JFrame;
15
16 /*
17 * This class exists solely to show you what menus look like.
18 * It has no menu-related event handling.
19 */
20 public class MenuLookDemo extends JFrame {
21 JTextArea output;
22 JScrollPane scrollPane;
23
24 public MenuLookDemo() {
25 JMenuBar menuBar;
26 JMenu menu, submenu;
27 JMenuItem menuItem;
28 JCheckBoxMenuItem cbMenuItem;
29 JRadioButtonMenuItem rbMenuItem;
30
31 addWindowListener(new WindowAdapter() {
32 public void windowClosing(WindowEvent e) {
33 System.exit(0);
34 }
35 });
36
37 //Add regular components to the window, using the default BorderLayout.
38 Container contentPane = getContentPane();
39 output = new JTextArea(5, 30);
40 output.setEditable(false);
41 scrollPane = new JScrollPane(output);
42 contentPane.add(scrollPane, BorderLayout.CENTER);
43
44 //Create the menu bar.
45 menuBar = new JMenuBar();
46 setJMenuBar(menuBar);
47
48 //Build the first menu.
49 menu = new JMenu("A Menu");
50 menu.setMnemonic(KeyEvent.VK_A);
51 menu.getAccessibleContext().setAccessibleDescription(
52 "The only menu in this program that has menu items");
53 menuBar.add(menu);
54
55 //a group of JMenuItems
56 menuItem = new JMenuItem("A text-only menu item",
57 KeyEvent.VK_T);
58 //menuItem.setMnemonic(KeyEvent.VK_T); //used constructor instead
59 menuItem.setAccelerator(KeyStroke.getKeyStroke(
60 KeyEvent.VK_1, ActionEvent.ALT_MASK));
61 menuItem.getAccessibleContext().setAccessibleDescription(
62 "This doesn't really do anything");
63 menu.add(menuItem);
64
65 menuItem = new JMenuItem("Both text and icon",
66 new ImageIcon("images/middle.gif"));
67 menuItem.setMnemonic(KeyEvent.VK_B);
68 menu.add(menuItem);
69
70 menuItem = new JMenuItem(new ImageIcon("images/middle.gif"));
71 menuItem.setMnemonic(KeyEvent.VK_D);
72 menu.add(menuItem);
73
74 //a group of radio button menu items
75 menu.addSeparator();
76 ButtonGroup group = new ButtonGroup();
77
78 rbMenuItem = new JRadioButtonMenuItem("A radio button menu item");
79 rbMenuItem.setSelected(true);
80 rbMenuItem.setMnemonic(KeyEvent.VK_R);
81 group.add(rbMenuItem);
82 menu.add(rbMenuItem);
83
84 rbMenuItem = new JRadioButtonMenuItem("Another one");
85 rbMenuItem.setMnemonic(KeyEvent.VK_O);
86 group.add(rbMenuItem);
87 menu.add(rbMenuItem);
88
89 //a group of check box menu items
90 menu.addSeparator();
91 cbMenuItem = new JCheckBoxMenuItem("A check box menu item");
92 cbMenuItem.setMnemonic(KeyEvent.VK_C);
93 menu.add(cbMenuItem);
94
95 cbMenuItem = new JCheckBoxMenuItem("Another one");
96 cbMenuItem.setMnemonic(KeyEvent.VK_H);
97 menu.add(cbMenuItem);
98
99 //a submenu
100 menu.addSeparator();
101 submenu = new JMenu("A submenu");
102 submenu.setMnemonic(KeyEvent.VK_S);
103
104 menuItem = new JMenuItem("An item in the submenu");
105 menuItem.setAccelerator(KeyStroke.getKeyStroke(
106 KeyEvent.VK_2, ActionEvent.ALT_MASK));
107 submenu.add(menuItem);
108
109 menuItem = new JMenuItem("Another item");
110 submenu.add(menuItem);
111 menu.add(submenu);
112
113 //Build second menu in the menu bar.
114 menu = new JMenu("Another Menu");
115 menu.setMnemonic(KeyEvent.VK_N);
116 menu.getAccessibleContext().setAccessibleDescription(
117 "This menu does nothing");
118 menuBar.add(menu);
119 }
120
121 public static void main(String[] args) {
122 MenuLookDemo window = new MenuLookDemo();
123
124 window.setTitle("MenuLookDemo");
125 window.setSize(450, 260);
126 window.setVisible(true);
127 }
128 }