// Menu02.java 2013.5.11 Minoru HATADA // 階層メニュー import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Menu02 extends JFrame implements ActionListener { public Menu02(String title){ setTitle(title); setBounds(100, 100, 300, 120); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JMenuBar menubar = new JMenuBar(); JMenu menu1 = new JMenu("Menu 1(X)"); JMenu menu2 = new JMenu("Menu 2(Y)"); menu1.setMnemonic('X'); // Alt + Xで呼び出し menu2.setMnemonic('Y'); menubar.add(menu1); menubar.add(menu2); JMenuItem mi11 = new JMenuItem("menu 1.1(A)"); JMenu mi12 = new JMenu("menu 1.2(B)"); JMenuItem mi121 = new JMenuItem("menu 1.2.1(&F)"); JMenuItem mi122 = new JMenuItem("menu 1.2.2(&G)"); JMenuItem mi13 = new JMenuItem("menu 1.3(C)"); JMenuItem mi21 = new JMenuItem("menu 2.1(D)"); JMenuItem mi22 = new JMenuItem("menu 2.2(E)"); mi11.setMnemonic('A'); mi12.setMnemonic('B'); mi121.setMnemonic('F'); mi122.setMnemonic('G'); mi13.setMnemonic('C'); mi21.setMnemonic('D'); mi22.setMnemonic('E'); mi11.addActionListener(this); mi121.addActionListener(this); mi122.addActionListener(this); mi13.addActionListener(this); mi21.addActionListener(this); mi22.addActionListener(this); menu1.add(mi11); mi12.add(mi121); mi12.add(mi122); menu1.add(mi12); menu1.add(mi13); menu2.add(mi21); menu2.add(mi22); setJMenuBar(menubar); } public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(null, "[" + e.getActionCommand() + "]が選択されました"); } public static void main(String[] args) { new Menu02("Menu Test").setVisible(true); } }