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