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