解答例 - 実習課題3 - 1.ウィンドウの作成
(実習課題3)
JMenuクラスのインスタンスには、JMenuItemだけでなくJRadioButtonMenuItemやJCheckBoxMenuItemクラスのインスタンスを追加する事もできます。実習課題2のプログラムを更に改良し、2つのクラスを使用したメニューを作成しなさい。
解答例
package com.techscore.ui.chapter1.exercise3;
/**
* SampleFrame.java
* TECHSCORE Javaユーザインタフェース1章 実習課題3
*
* 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");
menuBar.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");
menuBar.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);
}
}

