モジュール 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()
      新しいメニュー・バーを作成します。
  • メソッドの詳細

    • getUI

      public MenuBarUI getUI()
      メニュー・バーの現在のUIを返します。
      オーバーライド:
      クラスJComponentgetUI
      戻り値:
      メニュー・バーの現在のL&FオブジェクトであるMenuBarUI
      関連項目:
      setUI(javax.swing.plaf.MenuBarUI)
    • setUI

      @BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component\'s LookAndFeel.")public void setUI​(MenuBarUI ui)
      このコンポーネントをレンダリングするL&Fオブジェクトを設定します。
      パラメータ:
      ui - 新しいMenuBarUI L&Fオブジェクト
      関連項目:
      UIDefaults.getUI(javax.swing.JComponent)
    • updateUI

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

      @BeanProperty(bound=false) public String getUIClassID()
      このコンポーネントをレンダリングするL&Fクラスの名前を返します。
      オーバーライド:
      getUIClassID 、クラス:  JComponent
      戻り値:
      文字列「MenuBarUI」
      関連項目:
      JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)
    • 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

      @Deprecatedpublic 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()
    • paintBorder

      protected void paintBorder​(Graphics g)
      BorderPaintedプロパティがtrueの場合、メニュー・バーのボーダーをペイントします。
      オーバーライド:
      paintBorder 、クラス:  JComponent
      パラメータ:
      g - ペイントに使用するGraphicsコンテキスト
      関連項目:
      JComponent.paint(java.awt.Graphics), JComponent.setBorder(javax.swing.border.Border)
    • 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()
    • 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
    • addNotify

      public void addNotify()
      このメニュー・バーを現在のキーボード・マネージャに登録するために、JComponent.addNotifyをオーバーライドします。
      オーバーライド:
      addNotify 、クラス:  JComponent
      関連項目:
      JComponent.registerKeyboardAction(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)
    • removeNotify

      public void removeNotify()
      このメニュー・バーを現在のキーボード・マネージャから登録解除するために、JComponent.removeNotifyをオーバーライドします。
      オーバーライド:
      removeNotify 、クラス:  JComponent
      関連項目:
      JComponent.registerKeyboardAction(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)