<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FSwing%2FJMenuItem</id>
		<title>Java Tutorial/Swing/JMenuItem - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FSwing%2FJMenuItem"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Swing/JMenuItem&amp;action=history"/>
		<updated>2026-04-21T20:33:19Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/Swing/JMenuItem&amp;diff=4015&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Swing/JMenuItem&amp;diff=4015&amp;oldid=prev"/>
				<updated>2010-06-01T04:57:23Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 04:57, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/Swing/JMenuItem&amp;diff=4014&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Swing/JMenuItem&amp;diff=4014&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Adding Drop-Down Menus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.swing.ButtonGroup;&lt;br /&gt;
import javax.swing.JCheckBoxMenuItem;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JMenu;&lt;br /&gt;
import javax.swing.JMenuBar;&lt;br /&gt;
import javax.swing.JMenuItem;&lt;br /&gt;
import javax.swing.JRadioButtonMenuItem;&lt;br /&gt;
public class AddingDropDownMenus extends JFrame {&lt;br /&gt;
  private JMenuBar menuBar = new JMenuBar(); // Window menu bar&lt;br /&gt;
  private JMenuItem newItem, openItem, closeItem, saveItem, saveAsItem, printItem;&lt;br /&gt;
  private JRadioButtonMenuItem lineItem, rectangleItem, circleItem;&lt;br /&gt;
  private JCheckBoxMenuItem redItem, yellowItem;&lt;br /&gt;
  public AddingDropDownMenus() {&lt;br /&gt;
    setDefaultCloseOperation(EXIT_ON_CLOSE);&lt;br /&gt;
    setJMenuBar(menuBar);&lt;br /&gt;
    JMenu fileMenu = new JMenu(&amp;quot;File&amp;quot;);&lt;br /&gt;
    JMenu elementMenu = new JMenu(&amp;quot;Elements&amp;quot;);&lt;br /&gt;
    newItem = fileMenu.add(&amp;quot;New&amp;quot;);&lt;br /&gt;
    openItem = fileMenu.add(&amp;quot;Open&amp;quot;);&lt;br /&gt;
    closeItem = fileMenu.add(&amp;quot;Close&amp;quot;);&lt;br /&gt;
    fileMenu.addSeparator();&lt;br /&gt;
    saveItem = fileMenu.add(&amp;quot;Save&amp;quot;);&lt;br /&gt;
    saveAsItem = fileMenu.add(&amp;quot;Save As...&amp;quot;);&lt;br /&gt;
    fileMenu.addSeparator();&lt;br /&gt;
    printItem = fileMenu.add(&amp;quot;Print&amp;quot;);&lt;br /&gt;
    elementMenu.add(lineItem = new JRadioButtonMenuItem(&amp;quot;Line&amp;quot;, true));&lt;br /&gt;
    elementMenu.add(rectangleItem = new JRadioButtonMenuItem(&amp;quot;Rectangle&amp;quot;, false));&lt;br /&gt;
    elementMenu.add(circleItem = new JRadioButtonMenuItem(&amp;quot;Circle&amp;quot;, false));&lt;br /&gt;
    ButtonGroup types = new ButtonGroup();&lt;br /&gt;
    types.add(lineItem);&lt;br /&gt;
    types.add(rectangleItem);&lt;br /&gt;
    types.add(circleItem);&lt;br /&gt;
    elementMenu.addSeparator();&lt;br /&gt;
    elementMenu.add(redItem = new JCheckBoxMenuItem(&amp;quot;Red&amp;quot;, false));&lt;br /&gt;
    elementMenu.add(yellowItem = new JCheckBoxMenuItem(&amp;quot;Yellow&amp;quot;, false));&lt;br /&gt;
    menuBar.add(fileMenu); &lt;br /&gt;
    menuBar.add(elementMenu);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] a) {&lt;br /&gt;
    AddingDropDownMenus window = new AddingDropDownMenus(); &lt;br /&gt;
    window.setBounds(30, 30, 300, 300); // Size&lt;br /&gt;
    window.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Adding Mnemonic and Accelerator to Menuitem ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A menu accelerator activates a menu item when it is not visible.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.event.KeyEvent;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JMenu;&lt;br /&gt;
import javax.swing.JMenuBar;&lt;br /&gt;
import javax.swing.JMenuItem;&lt;br /&gt;
import javax.swing.KeyStroke;&lt;br /&gt;
public class JMenuItemKeyStroke {&lt;br /&gt;
  public static void main(final String args[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;MenuSample Example&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JMenuBar menuBar = new JMenuBar();&lt;br /&gt;
    // File Menu, F - Mnemonic&lt;br /&gt;
    JMenu fileMenu = new JMenu(&amp;quot;File&amp;quot;);&lt;br /&gt;
    fileMenu.setMnemonic(KeyEvent.VK_F);&lt;br /&gt;
    menuBar.add(fileMenu);&lt;br /&gt;
    // File-&amp;gt;New, N - Mnemonic&lt;br /&gt;
    JMenuItem newMenuItem = new JMenuItem(&amp;quot;New&amp;quot;, KeyEvent.VK_N);&lt;br /&gt;
    fileMenu.add(newMenuItem);&lt;br /&gt;
    // Edit-&amp;gt;Cut, T - Mnemonic, CTRL-X - Accelerator&lt;br /&gt;
    JMenuItem cutMenuItem = new JMenuItem(&amp;quot;Cut&amp;quot;, KeyEvent.VK_T);&lt;br /&gt;
    KeyStroke ctrlXKeyStroke = KeyStroke.getKeyStroke(&amp;quot;control X&amp;quot;);&lt;br /&gt;
    cutMenuItem.setAccelerator(ctrlXKeyStroke);&lt;br /&gt;
    fileMenu.add(cutMenuItem);&lt;br /&gt;
    frame.setJMenuBar(menuBar);&lt;br /&gt;
    frame.setSize(350, 250);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Creating a Menu Item That Listens for Changes to Its Selection Status ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.swing.JMenuItem;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JMenuItem item = new JMenuItem(&amp;quot;Label&amp;quot;) {&lt;br /&gt;
      public void menuSelectionChanged(boolean isSelected) {&lt;br /&gt;
        super.menuSelectionChanged(isSelected);&lt;br /&gt;
        if (isSelected) {&lt;br /&gt;
          System.out.println(&amp;quot;The menu item is selected&amp;quot;); &lt;br /&gt;
        } else {&lt;br /&gt;
          System.out.println(&amp;quot;The menu item is no longer selected&amp;quot;); &lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    };&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Creating an About Menu Item ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JMenu;&lt;br /&gt;
import javax.swing.JMenuBar;&lt;br /&gt;
import javax.swing.JMenuItem;&lt;br /&gt;
public class FramewithAboutMenu extends JFrame {&lt;br /&gt;
  public FramewithAboutMenu(String title) {&lt;br /&gt;
    JMenuBar menuBar = new JMenuBar();&lt;br /&gt;
    setTitle(title);&lt;br /&gt;
    setJMenuBar(menuBar);&lt;br /&gt;
    setDefaultCloseOperation(EXIT_ON_CLOSE);&lt;br /&gt;
    JMenu fileMenu = new JMenu(&amp;quot;File&amp;quot;);&lt;br /&gt;
    JMenu elementMenu = new JMenu(&amp;quot;Elements&amp;quot;);&lt;br /&gt;
    JMenu helpMenu = new JMenu(&amp;quot;Help&amp;quot;);&lt;br /&gt;
    fileMenu.setMnemonic(&amp;quot;F&amp;quot;);&lt;br /&gt;
    elementMenu.setMnemonic(&amp;quot;E&amp;quot;);&lt;br /&gt;
    helpMenu.setMnemonic(&amp;quot;H&amp;quot;);&lt;br /&gt;
    JMenuItem aboutItem = new JMenuItem(&amp;quot;About&amp;quot;);&lt;br /&gt;
    helpMenu.add(aboutItem);&lt;br /&gt;
    menuBar.add(helpMenu);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] a) {&lt;br /&gt;
    FramewithAboutMenu window = new FramewithAboutMenu(&amp;quot;Sketcher&amp;quot;);&lt;br /&gt;
    window.setBounds(30, 30, 300, 300);&lt;br /&gt;
    window.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Creating JMenuItem Components ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public JMenuItem()&lt;br /&gt;
JMenuItem jMenuItem = new JMenuItem();&lt;br /&gt;
public JMenuItem(Icon icon)&lt;br /&gt;
Icon atIcon = new ImageIcon(&amp;quot;at.gif&amp;quot;);&lt;br /&gt;
JMenuItem jMenuItem = new JMenuItem(atIcon);&lt;br /&gt;
public JMenuItem(String text)&lt;br /&gt;
JMenuItem jMenuItem = new JMenuItem(&amp;quot;Cut&amp;quot;);&lt;br /&gt;
public JMenuItem(String text, Icon icon)&lt;br /&gt;
Icon atIcon = new ImageIcon(&amp;quot;at.gif&amp;quot;);&lt;br /&gt;
JMenuItem jMenuItem = new JMenuItem(&amp;quot;Options&amp;quot;, atIcon);&lt;br /&gt;
public JMenuItem(String text, int mnemonic)&lt;br /&gt;
JMenuItem jMenuItem = new JMenuItem(&amp;quot;Cut&amp;quot;, KeyEvent.VK_T);&lt;br /&gt;
public JMenuItem(Action action)&lt;br /&gt;
Action action = ...;&lt;br /&gt;
JMenuItem jMenuItem = new JMenuItem(action);&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Creating Menuitem from Action class ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The mnemonic for a menu item usually appears underlined within the text label for the menu&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
class ShowAction extends AbstractAction {&lt;br /&gt;
  Component parentComponent;&lt;br /&gt;
  public ShowAction(Component parentComponent) {&lt;br /&gt;
    super(&amp;quot;About&amp;quot;);&lt;br /&gt;
    putValue(Action.MNEMONIC_KEY, new Integer(KeyEvent.VK_A));&lt;br /&gt;
    this.parentComponent = parentComponent;&lt;br /&gt;
  }&lt;br /&gt;
  public void actionPerformed(ActionEvent actionEvent) {&lt;br /&gt;
        JOptionPane.showMessageDialog(parentComponent, &amp;quot;About Swing&amp;quot;, &amp;quot;About Box V2.0&amp;quot;,&lt;br /&gt;
            JOptionPane.INFORMATION_MESSAGE);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class ContructMenuWithAction {&lt;br /&gt;
  public static void main(final String args[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;MenuSample Example&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JMenuBar menuBar = new JMenuBar();&lt;br /&gt;
    // File Menu, F - Mnemonic&lt;br /&gt;
    JMenu fileMenu = new JMenu(&amp;quot;File&amp;quot;);&lt;br /&gt;
    fileMenu.setMnemonic(KeyEvent.VK_F);&lt;br /&gt;
    menuBar.add(fileMenu);&lt;br /&gt;
    // File-&amp;gt;New, N - Mnemonic&lt;br /&gt;
    JMenuItem newMenuItem = new JMenuItem(new ShowAction(frame));&lt;br /&gt;
    fileMenu.add(newMenuItem);&lt;br /&gt;
    frame.setJMenuBar(menuBar);&lt;br /&gt;
    frame.setSize(350, 250);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Customizing JMenuItem Look and Feel ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Property StringObject TypeMenuItem.acceleratorDelimiterStringMenuItem.acceleratorFontFontMenuItem.acceleratorForegroundColorMenuItem.acceleratorSelectionForegroundColorMenuItem.actionMapActionMapMenuItem.arrowIconIconMenuItem.backgroundColorMenuItem.borderBorderMenuItem.borderPaintedBooleanMenuItem.checkIconIconMenuItem.rumandSoundStringMenuItem.disabledForegroundColorMenuItem.fontFontMenuItem.foregroundColorMenuItem.marginInsetsMenuItem.opaqueBooleanMenuItem.selectionBackgroundColorMenuItem.selectionForegroundColorMenuItem.textIconGapIntegerMenuItemUIString&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Disable Menuitem ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.event.KeyEvent;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JMenu;&lt;br /&gt;
import javax.swing.JMenuBar;&lt;br /&gt;
import javax.swing.JMenuItem;&lt;br /&gt;
import javax.swing.KeyStroke;&lt;br /&gt;
public class JMenuItemDisabled {&lt;br /&gt;
  public static void main(final String args[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;MenuSample Example&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JMenuBar menuBar = new JMenuBar();&lt;br /&gt;
    // File Menu, F - Mnemonic&lt;br /&gt;
    JMenu fileMenu = new JMenu(&amp;quot;File&amp;quot;);&lt;br /&gt;
    fileMenu.setMnemonic(KeyEvent.VK_F);&lt;br /&gt;
    menuBar.add(fileMenu);&lt;br /&gt;
    // File-&amp;gt;New, N - Mnemonic&lt;br /&gt;
    JMenuItem newMenuItem = new JMenuItem(&amp;quot;New&amp;quot;, KeyEvent.VK_N);&lt;br /&gt;
    fileMenu.add(newMenuItem);&lt;br /&gt;
    // Edit-&amp;gt;Paste, P - Mnemonic, CTRL-V - Accelerator, Disabled&lt;br /&gt;
    JMenuItem pasteMenuItem = new JMenuItem(&amp;quot;Paste&amp;quot;, KeyEvent.VK_P);&lt;br /&gt;
    KeyStroke ctrlVKeyStroke = KeyStroke.getKeyStroke(&amp;quot;control V&amp;quot;);&lt;br /&gt;
    pasteMenuItem.setAccelerator(ctrlVKeyStroke);&lt;br /&gt;
    pasteMenuItem.setEnabled(false);&lt;br /&gt;
    fileMenu.add(pasteMenuItem);&lt;br /&gt;
    frame.setJMenuBar(menuBar);&lt;br /&gt;
    frame.setSize(350, 250);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Listening to JMenuItem Events with a MenuDragMouseListener ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.event.KeyEvent;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JMenu;&lt;br /&gt;
import javax.swing.JMenuBar;&lt;br /&gt;
import javax.swing.JMenuItem;&lt;br /&gt;
import javax.swing.event.MenuDragMouseEvent;&lt;br /&gt;
import javax.swing.event.MenuDragMouseListener;&lt;br /&gt;
public class ContructMenuMenuDragMouseListener {&lt;br /&gt;
  public static void main(final String args[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;MenuSample Example&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JMenuBar menuBar = new JMenuBar();&lt;br /&gt;
    // File Menu, F - Mnemonic&lt;br /&gt;
    JMenu fileMenu = new JMenu(&amp;quot;File&amp;quot;);&lt;br /&gt;
    fileMenu.setMnemonic(KeyEvent.VK_F);&lt;br /&gt;
    menuBar.add(fileMenu);&lt;br /&gt;
    // File-&amp;gt;New, N - Mnemonic&lt;br /&gt;
    JMenuItem newMenuItem = new JMenuItem(&amp;quot;asdf&amp;quot;);&lt;br /&gt;
    fileMenu.add(newMenuItem);&lt;br /&gt;
    &lt;br /&gt;
    newMenuItem.addMenuDragMouseListener(new MenuDragMouseListener(){&lt;br /&gt;
      public void menuDragMouseEntered(MenuDragMouseEvent e) {&lt;br /&gt;
        System.out.println(&amp;quot;menuDragMouseEntered&amp;quot;);        &lt;br /&gt;
      }&lt;br /&gt;
      public void menuDragMouseExited(MenuDragMouseEvent e) {&lt;br /&gt;
       System.out.println(&amp;quot;menuDragMouseExited&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
      }&lt;br /&gt;
      public void menuDragMouseDragged(MenuDragMouseEvent e) {&lt;br /&gt;
        System.out.println(&amp;quot;menuDragMouseDragged&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
      }&lt;br /&gt;
      public void menuDragMouseReleased(MenuDragMouseEvent e) {&lt;br /&gt;
        System.out.println(&amp;quot;menuDragMouseReleased&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
      }});&lt;br /&gt;
    frame.setJMenuBar(menuBar);&lt;br /&gt;
    frame.setSize(350, 250);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Listening to JMenuItem Events with a MenuKeyListener ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.event.KeyEvent;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JMenu;&lt;br /&gt;
import javax.swing.JMenuBar;&lt;br /&gt;
import javax.swing.JMenuItem;&lt;br /&gt;
import javax.swing.event.MenuKeyEvent;&lt;br /&gt;
import javax.swing.event.MenuKeyListener;&lt;br /&gt;
public class ContructMenuMenuKeyListener {&lt;br /&gt;
  public static void main(final String args[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;MenuSample Example&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JMenuBar menuBar = new JMenuBar();&lt;br /&gt;
    // File Menu, F - Mnemonic&lt;br /&gt;
    JMenu fileMenu = new JMenu(&amp;quot;File&amp;quot;);&lt;br /&gt;
    fileMenu.setMnemonic(KeyEvent.VK_F);&lt;br /&gt;
    menuBar.add(fileMenu);&lt;br /&gt;
    // File-&amp;gt;New, N - Mnemonic&lt;br /&gt;
    JMenuItem newMenuItem = new JMenuItem(&amp;quot;asdf&amp;quot;);&lt;br /&gt;
    fileMenu.add(newMenuItem);&lt;br /&gt;
    &lt;br /&gt;
    newMenuItem.addMenuKeyListener(new MenuKeyListener(){&lt;br /&gt;
      public void menuKeyTyped(MenuKeyEvent e) {&lt;br /&gt;
       System.out.println(&amp;quot;KeyTyped&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
      public void menuKeyPressed(MenuKeyEvent e) {&lt;br /&gt;
        System.out.println(&amp;quot;KeyPressed&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
      public void menuKeyReleased(MenuKeyEvent e) {&lt;br /&gt;
        System.out.println(&amp;quot;KeyReleased&amp;quot;);&lt;br /&gt;
      }});&lt;br /&gt;
    &lt;br /&gt;
    frame.setJMenuBar(menuBar);&lt;br /&gt;
    frame.setSize(350, 250);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Listening to JMenuItem Events with an ActionListener ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.event.ActionEvent;&lt;br /&gt;
import java.awt.event.ActionListener;&lt;br /&gt;
import java.awt.event.KeyEvent;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JMenu;&lt;br /&gt;
import javax.swing.JMenuBar;&lt;br /&gt;
import javax.swing.JMenuItem;&lt;br /&gt;
class MenuActionListener implements ActionListener {&lt;br /&gt;
  public void actionPerformed(ActionEvent e) {&lt;br /&gt;
    System.out.println(&amp;quot;Selected: &amp;quot; + e.getActionCommand());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class ContructMenuActionListener {&lt;br /&gt;
  public static void main(final String args[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;MenuSample Example&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JMenuBar menuBar = new JMenuBar();&lt;br /&gt;
    // File Menu, F - Mnemonic&lt;br /&gt;
    JMenu fileMenu = new JMenu(&amp;quot;File&amp;quot;);&lt;br /&gt;
    fileMenu.setMnemonic(KeyEvent.VK_F);&lt;br /&gt;
    menuBar.add(fileMenu);&lt;br /&gt;
    // File-&amp;gt;New, N - Mnemonic&lt;br /&gt;
    JMenuItem newMenuItem = new JMenuItem(&amp;quot;New&amp;quot;);&lt;br /&gt;
    newMenuItem.addActionListener(new MenuActionListener());&lt;br /&gt;
    fileMenu.add(newMenuItem);&lt;br /&gt;
    frame.setJMenuBar(menuBar);&lt;br /&gt;
    frame.setSize(350, 250);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Separating Menu Items in a Menu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.swing.JMenu;&lt;br /&gt;
import javax.swing.JMenuItem;&lt;br /&gt;
import javax.swing.JSeparator;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JMenu menu = new JMenu(&amp;quot;Menu Label&amp;quot;);&lt;br /&gt;
    JMenuItem item1 = new JMenuItem(&amp;quot;Item Label&amp;quot;);&lt;br /&gt;
    menu.add(item1);&lt;br /&gt;
    // Add separator&lt;br /&gt;
    menu.add(new JSeparator());&lt;br /&gt;
    // Add another menu item&lt;br /&gt;
    JMenuItem item2 = new JMenuItem(&amp;quot;Item Label&amp;quot;);&lt;br /&gt;
    menu.add(item2);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Using Function key as Accelerator ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.event.KeyEvent;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JMenu;&lt;br /&gt;
import javax.swing.JMenuBar;&lt;br /&gt;
import javax.swing.JMenuItem;&lt;br /&gt;
import javax.swing.KeyStroke;&lt;br /&gt;
public class JMenuItemAccelerator {&lt;br /&gt;
  public static void main(final String args[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;MenuSample Example&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JMenuBar menuBar = new JMenuBar();&lt;br /&gt;
    // File Menu, F - Mnemonic&lt;br /&gt;
    JMenu fileMenu = new JMenu(&amp;quot;File&amp;quot;);&lt;br /&gt;
    fileMenu.setMnemonic(KeyEvent.VK_F);&lt;br /&gt;
    menuBar.add(fileMenu);&lt;br /&gt;
    // File-&amp;gt;New, N - Mnemonic&lt;br /&gt;
    JMenuItem newMenuItem = new JMenuItem(&amp;quot;New&amp;quot;, KeyEvent.VK_N);&lt;br /&gt;
    fileMenu.add(newMenuItem);&lt;br /&gt;
    // Edit-&amp;gt;Find, F - Mnemonic, F3 - Accelerator&lt;br /&gt;
    JMenuItem findMenuItem = new JMenuItem(&amp;quot;Find&amp;quot;, KeyEvent.VK_F);&lt;br /&gt;
    KeyStroke f3KeyStroke = KeyStroke.getKeyStroke(&amp;quot;F3&amp;quot;);&lt;br /&gt;
    findMenuItem.setAccelerator(f3KeyStroke);&lt;br /&gt;
    fileMenu.add(findMenuItem);&lt;br /&gt;
    frame.setJMenuBar(menuBar);&lt;br /&gt;
    frame.setSize(350, 250);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>