whichのブログ ~プログラミング体験記~ -3ページ目

whichのブログ ~プログラミング体験記~

主にJava,vVsual C#,Andoroid,SQLについて
覚え基本た文法やプログラミング技法、各クラスの利用法を
忘れないように形にしたものです

初心者だとかプロだとか特に意識せず利用してもらえるとうれしいです。

■メニューバー
今回はたいていのアプリケーションにあるメニューバーです。

メニューバーは他の一般的な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つのクラスを使ってメニューを構築します。下の図のようなイメージ必要に応じて項目を増やしていきます


■MenuItemのイベント処理と種類

実はメニュー項目として登録できる部品には以下の種類があります
・JMenuItem            //基本的な部品。ボタンと同じ振る舞いができる
・JRadioButtonMenuItem    //JMenuItemを継承したラジオボタンと同じ振る舞いができる部品
・JCheckBoxMenuItem     //JMenuItemを継承したチェックボックスと同じ振る舞いができる部品

JMenuItemを継承するため基本的にどの部品でもActionEventが発生します。

■階層化
・JMenuにJMenuを追加することができる項目を階層化できます
・項目と項目の間にしきりを入れたい場合はJMenuクラスのaddSeparator()を呼び出すことで項目にしきいが入ります

■まとめ

今回はサンプルプログラムをどうするかかなりの期間悩んで結局今回はなしにすることにした。
そのおかげでかなり更新が遅れた。
なので次回予定しているダイアログ系は早めに更新しようと思っている。