メニューの追加
フレームに、グラフの表示を切り替えるメニューを追加します。
トップメニュー「グラフの種類(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());
...
...
}
