目次へ

解答例 - 実習課題4 - 1.ウィンドウの作成

(実習課題4)

JMenuクラスのインスタンスには、JMenuクラス自身のインスタンスを追加する事もできます。これにより階層的なメニューを作成する事ができます。実習課題3のプログラムを更に改良し、階層的なメニューを持つウィンドウを作成しなさい。

解答例

package com.techscore.ui.chapter1.exercise4;

/**
 * SampleFrame.java
 * TECHSCORE Javaユーザインタフェース1章 実習課題4
 *
 * Copyright (c) 2004 Four-Dimensional Data, Inc.
 */
import javax.swing.ButtonGroup;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JRadioButtonMenuItem;

public class SampleFrame extends JFrame {

    public SampleFrame() {
        super("SampleFrame");
        super.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        super.setSize(400, 400);

        //MenuBarの作成
        JMenuBar menuBar = new JMenuBar();
        super.setJMenuBar(menuBar);

        //Menuを作成
        JMenu fileMenu = new JMenu("file");
        menuBar.add(fileMenu);

        JMenuItem openMenu = new JMenuItem("open");
        fileMenu.add(openMenu);

        //Radioボタン用Menuの作成
        JMenu radioButtonMenu = new JMenu("Radio Button");
        fileMenu.add(radioButtonMenu);

        ButtonGroup group = new ButtonGroup();

        JRadioButtonMenuItem radioButtonMenu1 = new JRadioButtonMenuItem("radio1");
        group.add(radioButtonMenu1);
        radioButtonMenu.add(radioButtonMenu1);

        JRadioButtonMenuItem radioButtonMenu2 = new JRadioButtonMenuItem("radio2");
        group.add(radioButtonMenu2);
        radioButtonMenu.add(radioButtonMenu2);

        //Check Box用Menuの作成
        JMenu checkBoxMenu = new JMenu("Check Box");
        fileMenu.add(checkBoxMenu);

        JCheckBoxMenuItem checkBoxMenu1 = new JCheckBoxMenuItem("check1");
        checkBoxMenu.add(checkBoxMenu1);

        JCheckBoxMenuItem checkBoxMenu2 = new JCheckBoxMenuItem("check2");
        checkBoxMenu.add(checkBoxMenu2);
    }

    public static void main(String args[]) {
        SampleFrame frame = new SampleFrame();
        frame.setVisible(true);
    }

}

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp