CodeZine(コードジン)

特集ページ一覧

グラフを表示するJavaクライアントアプリケーションを作る-Part3

メニューでグラフの種類を変える

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/09/24 14:00

ダウンロード サンプルソース (15.2 KB)

目次

メニューの追加

 フレームに、グラフの表示を切り替えるメニューを追加します。

 トップメニュー「グラフの種類(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());
    ...
    ...
}

  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:ComponentZine(WebCharts3D)

著者プロフィール

  • 瀬戸 遥(セト ハルカ)

    8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5