diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/examples/gui/swing/MenuLookDemo.java	Fri Apr 05 16:26:00 2019 +0100
@@ -0,0 +1,128 @@
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.JMenu;
+import javax.swing.JMenuItem;
+import javax.swing.JCheckBoxMenuItem;
+import javax.swing.JRadioButtonMenuItem;
+import javax.swing.ButtonGroup;
+import javax.swing.JMenuBar;
+import javax.swing.KeyStroke;
+import javax.swing.ImageIcon;
+
+import javax.swing.JTextArea;
+import javax.swing.JScrollPane;
+import javax.swing.JFrame;
+
+/*
+ * This class exists solely to show you what menus look like.
+ * It has no menu-related event handling.
+ */
+public class MenuLookDemo extends JFrame {
+    JTextArea output;
+    JScrollPane scrollPane;
+
+    public MenuLookDemo() {
+        JMenuBar menuBar;
+        JMenu menu, submenu;
+        JMenuItem menuItem;
+        JCheckBoxMenuItem cbMenuItem;
+        JRadioButtonMenuItem rbMenuItem;
+
+        addWindowListener(new WindowAdapter() {
+            public void windowClosing(WindowEvent e) {
+                System.exit(0);
+            }
+        });
+
+        //Add regular components to the window, using the default BorderLayout.
+        Container contentPane = getContentPane();
+        output = new JTextArea(5, 30);
+        output.setEditable(false);
+        scrollPane = new JScrollPane(output);
+        contentPane.add(scrollPane, BorderLayout.CENTER);
+
+        //Create the menu bar.
+        menuBar = new JMenuBar();
+        setJMenuBar(menuBar);
+
+        //Build the first menu.
+        menu = new JMenu("A Menu");
+        menu.setMnemonic(KeyEvent.VK_A);
+        menu.getAccessibleContext().setAccessibleDescription(
+                "The only menu in this program that has menu items");
+        menuBar.add(menu);
+
+        //a group of JMenuItems
+        menuItem = new JMenuItem("A text-only menu item",
+                                 KeyEvent.VK_T);
+        //menuItem.setMnemonic(KeyEvent.VK_T); //used constructor instead
+        menuItem.setAccelerator(KeyStroke.getKeyStroke(
+                KeyEvent.VK_1, ActionEvent.ALT_MASK));
+        menuItem.getAccessibleContext().setAccessibleDescription(
+                "This doesn't really do anything");
+        menu.add(menuItem);
+
+        menuItem = new JMenuItem("Both text and icon", 
+                                 new ImageIcon("images/middle.gif"));
+        menuItem.setMnemonic(KeyEvent.VK_B);
+        menu.add(menuItem);
+
+        menuItem = new JMenuItem(new ImageIcon("images/middle.gif"));
+        menuItem.setMnemonic(KeyEvent.VK_D);
+        menu.add(menuItem);
+
+        //a group of radio button menu items
+        menu.addSeparator();
+        ButtonGroup group = new ButtonGroup();
+
+        rbMenuItem = new JRadioButtonMenuItem("A radio button menu item");
+        rbMenuItem.setSelected(true);
+        rbMenuItem.setMnemonic(KeyEvent.VK_R);
+        group.add(rbMenuItem);
+        menu.add(rbMenuItem);
+
+        rbMenuItem = new JRadioButtonMenuItem("Another one");
+        rbMenuItem.setMnemonic(KeyEvent.VK_O);
+        group.add(rbMenuItem);
+        menu.add(rbMenuItem);
+
+        //a group of check box menu items
+        menu.addSeparator();
+        cbMenuItem = new JCheckBoxMenuItem("A check box menu item");
+        cbMenuItem.setMnemonic(KeyEvent.VK_C);
+        menu.add(cbMenuItem);
+
+        cbMenuItem = new JCheckBoxMenuItem("Another one");
+        cbMenuItem.setMnemonic(KeyEvent.VK_H);
+        menu.add(cbMenuItem);
+
+        //a submenu
+        menu.addSeparator();
+        submenu = new JMenu("A submenu");
+        submenu.setMnemonic(KeyEvent.VK_S);
+
+        menuItem = new JMenuItem("An item in the submenu");
+        menuItem.setAccelerator(KeyStroke.getKeyStroke(
+                KeyEvent.VK_2, ActionEvent.ALT_MASK));
+        submenu.add(menuItem);
+
+        menuItem = new JMenuItem("Another item");
+        submenu.add(menuItem);
+        menu.add(submenu);
+
+        //Build second menu in the menu bar.
+        menu = new JMenu("Another Menu");
+        menu.setMnemonic(KeyEvent.VK_N);
+        menu.getAccessibleContext().setAccessibleDescription(
+                "This menu does nothing");
+        menuBar.add(menu);
+    }
+
+    public static void main(String[] args) {
+        MenuLookDemo window = new MenuLookDemo();
+
+        window.setTitle("MenuLookDemo");
+        window.setSize(450, 260);
+        window.setVisible(true);
+    }
+}