メニューの追加
フレームに、グラフの表示を切り替えるメニューを追加します。
トップメニュー「グラフの種類(G)」を作成し、その下にメニューアイテムに「折れ線グラフ」「円グラフ」「3D縦棒グラフ」を作成します。
メニューの作成
JMenu、JMenuBarを使ってメニューを作成します。イベントリスナーは「ActionListener」なので、これを関連付けるのを忘れないでください。
メニューの作成には、「createMenuBar」というクラスのメンバメソッドを独自に作成し、ここで行います。メソッドの戻り値は作成したJMenuBarコンポーネントのインスタンスにします。
class drawpanel extends JPanel implements ActionListener{ private static final long serialVersionUID = 1L; JButton button1; JPanel pnl1; // メニューコンポーネントの宣言を追加 JMenu chartmenu; JMenuItem mi_line, mi_pie, mi_3dbar; .......... .......... public JMenuBar createMenuBar() { JMenuBar mb = new JMenuBar(); chartmenu = new JMenu("グラフの種類(G)"); mi_line = new JMenuItem("折れ線グラフ "); mi_pie = new JMenuItem("円グラフ "); mi_3dbar = new JMenuItem("3D縦棒グラフ"); chartmenu.setMnemonic(KeyEvent.VK_G); chartmenu.add(mi_line); chartmenu.add(mi_pie); chartmenu.add(mi_3dbar); mi_line.addActionListener(this); mi_pie.addActionListener(this); mi_3dbar.addActionListener(this); mb.add(chartmenu); return mb; }
メニューバーの実装
メニューとメニューバーができたら、mainメソッドでこのメニューバーをフレームに組み込みます。
public static void main(String[] args) { JFrame frame = new JFrame("グラフ表示"); drawpanel panel1 = new drawpanel(); Container ct = frame.getContentPane(); ct.setLayout(new GridLayout()); ct.add(panel1); // メニューバーの実装を追加 frame.setJMenuBar(panel1.createMenuBar()); ... ... }