Mercurial > hg > jslab
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 } |