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