モジュール java.desktop
パッケージ javax.swing

クラスJMenuBar

  • すべての実装されたインタフェース:
    ImageObserver, MenuContainer, Serializable, Accessible, MenuElement
    直系の既知のサブクラス:
    BasicInternalFrameTitlePane.SystemMenuBar

    @JavaBean(defaultProperty="UI",
              description="A container for holding and displaying menus.")
    public class JMenuBar
    extends JComponent
    implements Accessible, MenuElement
    メニュー・バーの実装です。 メニューを構築するには、メニュー・バーにJMenuオブジェクトを追加します。 ユーザーがJMenuオブジェクトを選択すると、対応するJPopupMenuが表示され、ユーザーはJMenuItemsのいずれかを選択することができます。

    メニュー・バーの使用方法の詳細と例については、「The Java Tutorial」の「How to Use Menus」を参照してください。

    警告: Swingはスレッドに対して安全ではありません。 詳細は、「Swing's Threading Policy」を参照してください。

    警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースと互換ではなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4以降、すべてのJavaBeans™用の長期間の格納サポートがjava.beansパッケージに追加されています。 XMLEncoderを参照してください。

    警告: デフォルトでは、JMenuBarfocusTraversalKeysEnabledプロパティはfalseに設定されているため、[Tab]キーを押しても、他のSwingコンポーネントとともにコンテナに追加されたJMenuBarからフォーカスは移動しません。 これを解決するには、JMenuBar.setFocusTraversalKeysEnabled(true)メソッドを呼び出す必要があります。

    導入されたバージョン:
    1.2
    関連項目:
    JMenu, JPopupMenu, JMenuItem, 「直列化されたフォーム」
    • コンストラクタの詳細

      • JMenuBar

        public JMenuBar()
        新しいメニュー・バーを作成します。
    • メソッドの詳細

      • updateUI

        public void updateUI()
        現在のルック・アンド・フィールからの値を持つUIプロパティをリセットします。
        オーバーライド:
        updateUI 、クラス:  JComponent
        関連項目:
        JComponent.updateUI()
      • getSelectionModel

        public SingleSelectionModel getSelectionModel()
        単一の選択を扱うモデル・オブジェクトを返します。
        戻り値:
        SingleSelectionModelプロパティ
        関連項目:
        SingleSelectionModel
      • setSelectionModel

        @BeanProperty(description="The selection model, recording which child is selected.")
        public void setSelectionModel​(SingleSelectionModel model)
        単一の選択を扱うモデル・オブジェクトを設定します。
        パラメータ:
        model - 使用するSingleSelectionModel
        関連項目:
        SingleSelectionModel
      • add

        public JMenu add​(JMenu c)
        メニュー・バーの最後に、指定されたメニューを追加します。
        パラメータ:
        c - 追加するJMenuコンポーネント
        戻り値:
        メニュー・コンポーネント
      • getMenu

        public JMenu getMenu​(int index)
        メニュー・バーの指定された位置のメニューを返します。
        パラメータ:
        index - メニュー・バーの位置を示す整数。0は先頭位置
        戻り値:
        指定された位置のJMenu。その位置にJMenuがない場合、たとえばそれがJMenuItemの場合はnull
      • getMenuCount

        @BeanProperty(bound=false)
        public int getMenuCount()
        メニュー・バーの項目数を返します。
        戻り値:
        メニュー・バーの項目数
      • setHelpMenu

        public void setHelpMenu​(JMenu menu)
        ユーザーがメニュー・バーで「ヘルプ(help)」オプションを選択すると表示されるヘルプ・メニューを設定します。 このメソッドはまだ実装されていないので、例外がスローされます。
        パラメータ:
        menu - ユーザーにヘルプを提示するJMenu
      • getHelpMenu

        public JMenu getHelpMenu()
        メニュー・バーのヘルプ・メニューを取得します。 このメソッドはまだ実装されていないので、例外がスローされます。
        戻り値:
        ユーザーにヘルプを提示するJMenu
      • getComponentAtIndex

        @Deprecated
        public Component getComponentAtIndex​(int i)
        非推奨。
        getComponent(int i)に置き換えられています
        指定されたインデックスの要素を返します。
        パラメータ:
        i - 位置を示す整数。0は先頭
        戻り値:
        指定された位置のComponent。インデックスが無効の場合はnull
      • getComponentIndex

        public int getComponentIndex​(Component c)
        指定されたコンポーネントのインデックスを返します。
        パラメータ:
        c - 検索対象のComponent
        戻り値:
        コンポーネントの位置を示す整数。先頭の場合は0、見つからなかった場合は -1
      • setSelected

        public void setSelected​(Component sel)
        現在選択されているコンポーネントを設定します。選択モデルを変更します。
        パラメータ:
        sel - 選択するComponent
      • isSelected

        @BeanProperty(bound=false)
        public boolean isSelected()
        メニュー・バーのコンポーネントが現在選択されている場合にtrueを返します。
        戻り値:
        選択されている場合はtrue、そうでない場合はfalse
      • isBorderPainted

        public boolean isBorderPainted()
        メニュー・バーのボーダーをペイントする必要がある場合にtrueを返します。
        戻り値:
        ボーダーをペイントする場合はtrue、そうでない場合はfalse
      • setBorderPainted

        @BeanProperty(visualUpdate=true,
                      description="Whether the border should be painted.")
        public void setBorderPainted​(boolean b)
        ボーダーをペイントするかどうかを設定します。
        パラメータ:
        b - このパラメータがtrueで、ボーダーのプロパティがnullでない場合、ボーダーをペイントする。
        関連項目:
        isBorderPainted()
      • setMargin

        @BeanProperty(visualUpdate=true,
                      description="The space between the menubar\'s border and its contents")
        public void setMargin​(Insets m)
        メニュー・バーのボーダーとそのメニューの間のマージンを設定します。 nullに設定すると、メニュー・バーのマージンにはデフォルトが使用されます。
        パラメータ:
        m - マージン値を保持するInsetsオブジェクト
        関連項目:
        Insets
      • getMargin

        public Insets getMargin()
        メニュー・バーのボーダーとそのメニューの間のマージンを返します。 設定されているマージンがない場合、サイズがゼロのデフォルト・マージンを作成します。
        戻り値:
        マージン値を保持するInsetsオブジェクト
        関連項目:
        Insets
      • processMouseEvent

        public void processMouseEvent​(MouseEvent event,
                                      MenuElement[] path,
                                      MenuSelectionManager manager)
        MenuElementとして実装されますが、処理は行いません。
        定義:
        processMouseEvent 、インタフェース: MenuElement
        パラメータ:
        event - 処理されるMouseEvent
        path - メニュー階層内の受信要素のパス
        manager - メニュー階層のMenuSelectionManager
        関連項目:
        getSubElements()
      • processKeyEvent

        public void processKeyEvent​(KeyEvent e,
                                    MenuElement[] path,
                                    MenuSelectionManager manager)
        MenuElementとして実装されますが、処理は行いません。
        定義:
        processKeyEvent 、インタフェース: MenuElement
        パラメータ:
        e - 処理されるKeyEvent
        path - メニュー階層内の受信要素のパス
        manager - メニュー階層のMenuSelectionManager
        関連項目:
        getSubElements()
      • menuSelectionChanged

        public void menuSelectionChanged​(boolean isIncluded)
        MenuElementとして実装されますが、処理は行いません。
        定義:
        menuSelectionChanged 、インタフェース: MenuElement
        パラメータ:
        isIncluded - このMenuElementがアクティブな(メニューの場合)か、(メニュー・アイテムの場合)を変更したメニュー・パスの部分にあるかどうかを示すために使用できます。
        関連項目:
        getSubElements()
      • getSubElements

        @BeanProperty(bound=false)
        public MenuElement[] getSubElements()
        MenuElementとして実装され、このメニュー・バーのメニューを返します。 メニュー・バーをほかのメニュー要素と同じように扱えるようにするために、MenuElementインタフェースを実装します。
        定義:
        getSubElements 、インタフェース: MenuElement
        戻り値:
        メニュー・バーのメニュー項目の配列。
      • getComponent

        public Component getComponent()
        MenuElementとして実装されます。 このオブジェクトを返します。
        定義:
        getComponent 、インタフェース: MenuElement
        戻り値:
        現在のComponent (thisオブジェクト)
        関連項目:
        getSubElements()
      • paramString

        protected String paramString()
        このJMenuBarの文字列表現を返します。 このメソッドはデバッグ専用であり、返される文字列の内容および形式は実装によって異なります。 返される文字列は空の場合がありますが、nullにはなりません。
        オーバーライド:
        paramString 、クラス:  JComponent
        戻り値:
        このJMenuBarの文字列表現
      • getAccessibleContext

        @BeanProperty(bound=false)
        public AccessibleContext getAccessibleContext()
        このJMenuBarに関連付けられたAccessibleContextを取得します。 JMenuBarの場合、AccessibleContextはAccessibleJMenuBarの形式を取ります。 必要に応じて新規のAccessibleJMenuBarインスタンスが作成されます。
        定義:
        getAccessibleContext、インタフェース: Accessible
        オーバーライド:
        getAccessibleContext、クラス: Component
        戻り値:
        このJMenuBarのAccessibleContextとして機能するAccessibleJMenuBar
      • processKeyBinding

        protected boolean processKeyBinding​(KeyStroke ks,
                                            KeyEvent e,
                                            int condition,
                                            boolean pressed)
        すべての子メニューを確認するためにサブクラス化されます。
        オーバーライド:
        processKeyBinding 、クラス:  JComponent
        パラメータ:
        ks - 照会するKeyStroke
        e - KeyEvent
        condition - 次の値のいずれか。
        • JComponent.WHEN_FOCUSED
        • JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
        • JComponent.WHEN_IN_FOCUSED_WINDOW
        pressed - キーが押されている場合はtrue
        戻り値:
        アクションにバインディングがあり、アクションが有効だった場合はtrue
        導入されたバージョン:
        1.3