今回はたいていのアプリケーションにあるメニューバーです。
メニューバーは他の一般的なGUI部品と違って場所が最初から固定されているためレイアウトイメージを固めるひつようはないのがいいところです。
■実装方法
JMenuBar bar = new JMenuBar(); //これがメニュ本体
JMenu menu = new JMenu("見出し文字列"); //メニュ項目
JMenuItem mi = new JMenuItem("見出し文字列"); //実際にイベントを発生させる
mi.addActionListener(this);
m.add(mi);
mi = new JMenuItem("終了");
mi.addActionListener(this);
menu.add(mi);
bar.add(menu);
setJMenuBar(bar);
という風に3つのクラスを使ってメニューを構築します。下の図のようなイメージ必要に応じて項目を増やしていきます
という風に3つのクラスを使ってメニューを構築します。下の図のようなイメージ必要に応じて項目を増やしていきます

■MenuItemのイベント処理と種類
実はメニュー項目として登録できる部品には以下の種類があります
・JMenuItem //基本的な部品。ボタンと同じ振る舞いができる
・JRadioButtonMenuItem //JMenuItemを継承したラジオボタンと同じ振る舞いができる部品
・JCheckBoxMenuItem //JMenuItemを継承したチェックボックスと同じ振る舞いができる部品
JMenuItemを継承するため基本的にどの部品でもActionEventが発生します。
■階層化
・JMenuにJMenuを追加することができる項目を階層化できます
・項目と項目の間にしきりを入れたい場合はJMenuクラスのaddSeparator()を呼び出すことで項目にしきいが入ります
■まとめ
今回はサンプルプログラムをどうするかかなりの期間悩んで結局今回はなしにすることにした。
そのおかげでかなり更新が遅れた。
なので次回予定しているダイアログ系は早めに更新しようと思っている。