解答例 - 実習課題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);
}
}

