Awt-menu-control

提供:Dev Guides
移動先:案内検索

AWTメニュークラス

前書き

Menuクラスは、メニューバーから展開されるプルダウンメニューコンポーネントを表します。

クラス宣言

以下は java.awt.Menu クラスの宣言です。

public class Menu
   extends MenuItem
      implements MenuContainer, Accessible

クラスコンストラクター

S.N. Constructor & Description
1

Menu()

空のラベルを持つ新しいメニューを作成します。

2

Menu(String label)

指定されたラベルで新しいメニューを構築します。

3

Menu(String label, boolean tearOff)

指定したラベルを使用して新しいメニューを構築し、メニューを切り離すことができるかどうかを示します。

クラスメソッド

S.N. Method & Description
1

MenuItem add(MenuItem mi)

指定されたメニュー項目をこのメニューに追加します。

2

void add(String label)

指定されたラベルを持つアイテムをこのメニューに追加します。

3

void addNotify()

メニューのピアを作成します。

4

void addSeparator()

メニューの現在の位置に区切り線またはハイペンを追加します。

5

int countItems()

廃止予定です。 JDKバージョン1.1以降、getItemCount()に置き換えられました。

6

AccessibleContext getAccessibleContext()

このメニューに関連付けられたAccessibleContextを取得します。

7

MenuItem getItem(int index)

このメニューの指定されたインデックスにあるアイテムを取得します。

8

int getItemCount()

このメニューのアイテムの数を取得します。

9

void insert(MenuItem menuitem, int index)

このメニューの指定された位置にメニュー項目を挿入します。

10

void insert(String label, int index)

指定されたラベルを持つメニュー項目を、このメニューの指定された位置に挿入します。

11

void insertSeparator(int index)

指定した位置にセパレータを挿入します。

12

boolean isTearOff()

このメニューがティアオフメニューかどうかを示します。

13

String paramString()

このメニューの状態を表す文字列を返します。

14

void remove(int index)

このメニューから指定されたインデックスにあるメニュー項目を削除します。

15

void remove(MenuComponent item)

このメニューから指定されたメニュー項目を削除します。

16

void removeAll()

このメニューからすべてのアイテムを削除します。

17

void removeNotify()

メニューのピアを削除します。

継承されたメソッド

このクラスは、次のクラスからメソッドを継承します。

  • java.awt.MenuItem
  • java.awt.MenuComponent
  • java.lang.Object

メニューの例

たとえば、 D:/> AWT> com> finddevguides> gui> の任意のエディターを使用して、次のJavaプログラムを作成します。

AWTMenuDemo.java

package com.finddevguides.gui;

import java.awt.*;
import java.awt.event.*;

public class AWTMenuDemo {
   private Frame mainFrame;
   private Label headerLabel;
   private Label statusLabel;
   private Panel controlPanel;

   public AWTMenuDemo(){
      prepareGUI();
   }

   public static void main(String[] args){
      AWTMenuDemo  awtMenuDemo = new AWTMenuDemo();
      awtMenuDemo.showMenuDemo();
   }

   private void prepareGUI(){
      mainFrame = new Frame("Java AWT Examples");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));
      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }
      });
      headerLabel = new Label();
      headerLabel.setAlignment(Label.CENTER);
      statusLabel = new Label();
      statusLabel.setAlignment(Label.CENTER);
      statusLabel.setSize(350,100);

      controlPanel = new Panel();
      controlPanel.setLayout(new FlowLayout());

      mainFrame.add(headerLabel);
      mainFrame.add(controlPanel);
      mainFrame.add(statusLabel);
      mainFrame.setVisible(true);
   }

   private void showMenuDemo(){
     //create a menu bar
      final MenuBar menuBar = new MenuBar();

     //create menus
      Menu fileMenu = new Menu("File");
      Menu editMenu = new Menu("Edit");
      final Menu aboutMenu = new Menu("About");

     //create menu items
      MenuItem newMenuItem =
         new MenuItem("New",new MenuShortcut(KeyEvent.VK_N));
      newMenuItem.setActionCommand("New");

      MenuItem openMenuItem = new MenuItem("Open");
      openMenuItem.setActionCommand("Open");

      MenuItem saveMenuItem = new MenuItem("Save");
      saveMenuItem.setActionCommand("Save");

      MenuItem exitMenuItem = new MenuItem("Exit");
      exitMenuItem.setActionCommand("Exit");

      MenuItem cutMenuItem = new MenuItem("Cut");
      cutMenuItem.setActionCommand("Cut");

      MenuItem copyMenuItem = new MenuItem("Copy");
      copyMenuItem.setActionCommand("Copy");

      MenuItem pasteMenuItem = new MenuItem("Paste");
      pasteMenuItem.setActionCommand("Paste");

      MenuItemListener menuItemListener = new MenuItemListener();

      newMenuItem.addActionListener(menuItemListener);
      openMenuItem.addActionListener(menuItemListener);
      saveMenuItem.addActionListener(menuItemListener);
      exitMenuItem.addActionListener(menuItemListener);
      cutMenuItem.addActionListener(menuItemListener);
      copyMenuItem.addActionListener(menuItemListener);
      pasteMenuItem.addActionListener(menuItemListener);

      final CheckboxMenuItem showWindowMenu =
         new CheckboxMenuItem("Show About", true);
      showWindowMenu.addItemListener(new ItemListener() {
         public void itemStateChanged(ItemEvent e) {
            if(showWindowMenu.getState()){
               menuBar.add(aboutMenu);
            }else{
               menuBar.remove(aboutMenu);
            }
         }
      });

     //add menu items to menus
      fileMenu.add(newMenuItem);
      fileMenu.add(openMenuItem);
      fileMenu.add(saveMenuItem);
      fileMenu.addSeparator();
      fileMenu.add(showWindowMenu);
      fileMenu.addSeparator();
      fileMenu.add(exitMenuItem);

      editMenu.add(cutMenuItem);
      editMenu.add(copyMenuItem);
      editMenu.add(pasteMenuItem);

     //add menu to menubar
      menuBar.add(fileMenu);
      menuBar.add(editMenu);
      menuBar.add(aboutMenu);

     //add menubar to the frame
      mainFrame.setMenuBar(menuBar);
      mainFrame.setVisible(true);
   }

   class MenuItemListener implements ActionListener {
      public void actionPerformed(ActionEvent e) {
         statusLabel.setText(e.getActionCommand()
            + " MenuItem clicked.");
      }
   }
}

コマンドプロンプトを使用してプログラムをコンパイルします。 D:/> AWT に移動し、次のコマンドを入力します。

D:\AWT>javac com\finddevguides\gui\AWTMenuDemo.java

エラーが発生しない場合は、コンパイルが成功したことを意味します。 次のコマンドを使用してプログラムを実行します。

D:\AWT>java com.finddevguides.gui.AWTMenuDemo

次の出力を確認します。 ([ファイル]メニューをクリックします。)

AWTメニュー