フレームにメニューバーを表示する Part2


メニューではサブメニューを作成したり、メニュー選択の無効化、アイコンの表示が可能です。

import  java.awt.*;
import  java.awt.event.*;
import  javax.swing.*;

class  ExamJMenu2    {
    public  static  void  main(String  args[])  {
        JFrame  jf    =  new  JFrame("JFrame  test");
        jf.addWindowListener(new  WindowAdapter() {
            public  void  windowClosing(WindowEvent  we)  {
                 System.exit(0);
            }
        });
    
        JMenu  jm  =   new  JMenu("File");

        //  open
        JMenu  open_menu  =  new  JMenu("Open");
        jm.add(open_menu);
        open_menu.add( new  JMenuItem("sub1"));
        open_menu.add( new  JMenuItem("sub2"));

        //  save
        JMenuItem  jmis  =  jm.add( new JMenuItem("Save"));
         jmis.setEnabled(false);
         jm.addSeparator();

        // exit
        JMenuItem  exit_menu   =  new JMenuItem("Exit",  new ImageIcon("menuItemIcon.gif"));
        jm.add(exit_menu);

        JMenuBar  jmb   =   new  JMenuBar();
        jmb.add(jm);

        jf.setJMenuBar(jmb);                
        jf.setBounds(20,50,700,500);
        jf.setVisible(true);
    }
}
             



実行結果








サブメニュー
前作(ExamJmenu)では"Open"はJMenuItemでしたが、今回はJMenuにしています。
"open"をJMenuにし、さらにJMenuItemである"sub1"、"sub2"を追加しています。

setEnabled() mthod
引数にfalseを与える事で、入力(click)を無効化できます。