JavaTM 2 Platform
Standard Ed. 6

javax.swing
類別 JMenuBar

java.lang.Object
  繼承者 java.awt.Component
      繼承者 java.awt.Container
          繼承者 javax.swing.JComponent
              繼承者 javax.swing.JMenuBar
所有已實作的介面:
ImageObserver, MenuContainer, Serializable, Accessible, MenuElement
直接已知子類別:
BasicInternalFrameTitlePane.SystemMenuBar

public class JMenuBar
extends JComponent
implements Accessible, MenuElement

選單欄的實作。將 JMenu 物件添加到選單欄以建構選單。當使用者選擇 JMenu 物件時,就會顯示其關聯的 JPopupMenu,允許使用者選擇其上的某一個 JMenuItem

有關使用選單欄的資訊和範例,請參閱 The Java Tutorial 中的 How to Use Menus 一節。

警告:Swing 不是執行緒安全的。有關更多資訊,請參閱 Swing's Threading Policy

警告:此類別的序列化物件與以後的 Swing 版本不相容。當前序列化支持適用於短期存儲,或適用於在運行相同 Swing 版本的應用程序之間進行 RMI(Remote Method Invocation,遠端方法調用)。從 1.4 版本開始,已在 java.beans 套件中添加了支持所有 JavaBeansTM 長期存儲的功能。請參見 XMLEncoder

另請參見:
JMenu, JPopupMenu, JMenuItem

巢狀類別摘要
protected  class JMenuBar.AccessibleJMenuBar
          此類別實作 JMenuBar 類別的可存取性支持。
 
從類別 javax.swing.JComponent 繼承的巢狀類別/介面
JComponent.AccessibleJComponent
 
從類別 java.awt.Container 繼承的巢狀類別/介面
Container.AccessibleAWTContainer
 
從類別 java.awt.Component 繼承的巢狀類別/介面
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
欄位摘要
 
從類別 javax.swing.JComponent 繼承的欄位
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
從類別 java.awt.Component 繼承的欄位
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
從介面 java.awt.image.ImageObserver 繼承的欄位
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
建構子摘要
JMenuBar()
          創建新的選單欄。
 
方法摘要
 JMenu add(JMenu c)
          將指定的選單追加到選單欄的末尾。
 void addNotify()
          覆寫 JComponent.addNotify 以向當前鍵盤管理器註冊此選單欄。
 AccessibleContext getAccessibleContext()
          獲取與此 JMenuBar 相關聯的 AccessibleContext。
 Component getComponent()
          實作為 MenuElement
 Component getComponentAtIndex(int i)
          已過時。 getComponent(int i) 取代
 int getComponentIndex(Component c)
          返回指定元件的索引。
 JMenu getHelpMenu()
          獲取選單欄的說明選單。
 Insets getMargin()
          返回選單欄的邊框與其選單之間的空白。
 JMenu getMenu(int index)
          返回選單欄中指定位置的選單。
 int getMenuCount()
          返回選單欄上的選單數。
 SingleSelectionModel getSelectionModel()
          返回處理單個選擇的模型物件。
 MenuElement[] getSubElements()
          實作為 MenuElement(返回此選單欄中的選單)。
 MenuBarUI getUI()
          返回選單欄的當前 UI。
 String getUIClassID()
          返回呈現此元件的 L&F 類別的名稱。
 boolean isBorderPainted()
          如果應該繪製選單欄的邊框,則返回 true。
 boolean isSelected()
          如果當前已選擇了選單欄的元件,則返回 true。
 void menuSelectionChanged(boolean isIncluded)
          實作為 MenuElement(不執行任何操作)。
protected  void paintBorder(Graphics g)
          如果 BorderPainted 屬性為 true,則繪製選單欄的邊框。
protected  String paramString()
          返回此 JMenuBar 的字元串表示形式。
protected  boolean processKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed)
          子類別化以檢查所有子選單。
 void processKeyEvent(KeyEvent e, MenuElement[] path, MenuSelectionManager manager)
          實作為 MenuElement(不執行任何操作)。
 void processMouseEvent(MouseEvent event, MenuElement[] path, MenuSelectionManager manager)
          實作為 MenuElement(不執行任何操作)。
 void removeNotify()
          覆寫 JComponent.removeNotify 以在當前鍵盤管理器中註銷此選單欄。
 void setBorderPainted(boolean b)
          設置是否應該繪製邊框。
 void setHelpMenu(JMenu menu)
          設置使用者選擇選單欄中的“說明”選項時顯示的說明選單。
 void setMargin(Insets m)
          設置選單欄的邊框與其選單之間的空白。
 void setSelected(Component sel)
          設置當前選擇的元件,更改選擇模型。
 void setSelectionModel(SingleSelectionModel model)
          設置處理單個選擇的模型物件。
 void setUI(MenuBarUI ui)
          設置呈現此元件的 L&F 物件。
 void updateUI()
          利用當前外觀的值重置 UI 屬性。
 
從類別 javax.swing.JComponent 繼承的方法
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
從類別 java.awt.Container 繼承的方法
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
從類別 java.awt.Component 繼承的方法
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

建構子詳細資訊

JMenuBar

public JMenuBar()
創建新的選單欄。

方法詳細資訊

getUI

public MenuBarUI getUI()
返回選單欄的當前 UI。

另請參見:
setUI(javax.swing.plaf.MenuBarUI)

setUI

public void setUI(MenuBarUI ui)
設置呈現此元件的 L&F 物件。

參數:
ui - 新的 MenuBarUI L&F 物件
另請參見:
UIDefaults.getUI(javax.swing.JComponent)

updateUI

public void updateUI()
利用當前外觀的值重置 UI 屬性。

覆寫:
類別 JComponent 中的 updateUI
另請參見:
JComponent.updateUI()

getUIClassID

public String getUIClassID()
返回呈現此元件的 L&F 類別的名稱。

覆寫:
類別 JComponent 中的 getUIClassID
返回:
字元串 "MenuBarUI"
另請參見:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

getSelectionModel

public SingleSelectionModel getSelectionModel()
返回處理單個選擇的模型物件。

返回:
SingleSelectionModel 屬性
另請參見:
SingleSelectionModel

setSelectionModel

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

public int getMenuCount()
返回選單欄上的選單數。

返回:
選單欄中的項數

setHelpMenu

public void setHelpMenu(JMenu menu)
設置使用者選擇選單欄中的“說明”選項時顯示的說明選單。此方法尚未實作,將拋出異常。

參數:
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

public boolean isSelected()
如果當前已選擇了選單欄的元件,則返回 true。

返回:
如果已做出選擇,則返回 true;否則返回 false

isBorderPainted

public boolean isBorderPainted()
如果應該繪製選單欄的邊框,則返回 true。

返回:
如果應該繪製邊框,則返回 true;否則返回 false

setBorderPainted

public void setBorderPainted(boolean b)
設置是否應該繪製邊框。

參數:
b - 如果為 true 且邊框屬性不為 null,則繪製邊框。
另請參見:
isBorderPainted()

paintBorder

protected void paintBorder(Graphics g)
如果 BorderPainted 屬性為 true,則繪製選單欄的邊框。

覆寫:
類別 JComponent 中的 paintBorder
參數:
g - 用於進行繪製的 Graphics 上下文
另請參見:
JComponent.paint(java.awt.Graphics), JComponent.setBorder(javax.swing.border.Border)

setMargin

public void setMargin(Insets m)
設置選單欄的邊框與其選單之間的空白。設置為 null 將導致選單欄使用預設空白。

參數:
m - 套件含空白值的 Insets 物件
另請參見:
Insets

getMargin

public Insets getMargin()
返回選單欄的邊框與其選單之間的空白。如果以前不存在空白,它將創建一個大小為 0 的預設空白。

返回:
包含空白值的 Insets 物件
另請參見:
Insets

processMouseEvent

public void processMouseEvent(MouseEvent event,
                              MenuElement[] path,
                              MenuSelectionManager manager)
實作為 MenuElement(不執行任何操作)。

指定者:
介面 MenuElement 中的 processMouseEvent
另請參見:
getSubElements()

processKeyEvent

public void processKeyEvent(KeyEvent e,
                            MenuElement[] path,
                            MenuSelectionManager manager)
實作為 MenuElement(不執行任何操作)。

指定者:
介面 MenuElement 中的 processKeyEvent
另請參見:
getSubElements()

menuSelectionChanged

public void menuSelectionChanged(boolean isIncluded)
實作為 MenuElement(不執行任何操作)。

指定者:
介面 MenuElement 中的 menuSelectionChanged
另請參見:
getSubElements()

getSubElements

public MenuElement[] getSubElements()
實作為 MenuElement(返回此選單欄中的選單)。這就是實作 MenuElement 介面的原因:以便選單欄可視為與其他選單元素相同。

指定者:
介面 MenuElement 中的 getSubElements
返回:
選單欄中的選單項所組成的陣列。

getComponent

public Component getComponent()
實作為 MenuElement。返回此物件。

指定者:
介面 MenuElement 中的 getComponent
返回:
當前 Component (this)
另請參見:
getSubElements()

paramString

protected String paramString()
返回此 JMenuBar 的字元串表示形式。此方法僅在進行除錯的時候使用,對於各個實作,所返回字元串的內容和格式可能有所不同。返回的字元串可能為空,但不可能為 null

覆寫:
類別 JComponent 中的 paramString
返回:
JMenuBar 的字元串表示形式

getAccessibleContext

public AccessibleContext getAccessibleContext()
獲取與此 JMenuBar 相關聯的 AccessibleContext。對於 JMenuBar,AccessibleContext 採取 AccessibleJMenuBar 的形式。必要時要創建新的 AccessibleJMenuBar 實例。

指定者:
介面 Accessible 中的 getAccessibleContext
覆寫:
類別 JComponent 中的 getAccessibleContext
返回:
用作此 JMenuBar 的 AccessibleContext 的 AccessibleJMenuBar

processKeyBinding

protected boolean processKeyBinding(KeyStroke ks,
                                    KeyEvent e,
                                    int condition,
                                    boolean pressed)
子類別化以檢查所有子選單。

覆寫:
類別 JComponent 中的 processKeyBinding
參數:
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 以向當前鍵盤管理器註冊此選單欄。

覆寫:
類別 JComponent 中的 addNotify
另請參見:
JComponent.registerKeyboardAction(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)

removeNotify

public void removeNotify()
覆寫 JComponent.removeNotify 以在當前鍵盤管理器中註銷此選單欄。

覆寫:
類別 JComponent 中的 removeNotify
另請參見:
JComponent.registerKeyboardAction(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only