-
- All Implemented Interfaces:
-
ImageObserver
,ItemSelectable
,MenuContainer
,Serializable
,Accessible
,MenuElement
,SwingConstants
@JavaBean(description="A popup window containing menu items displayed in a menu bar.") public class JMenu extends JMenuItem implements Accessible, MenuElement
一个菜单的实现 - 一个包含JMenuItem
s的弹出窗口,当用户在JMenuBar
上选择一个项目时JMenuBar
。 除了JMenuItem
s,一个JMenu
也可以包含JSeparator
s。实质上,菜单是一个带有关联的按钮
JPopupMenu
。 当按下“按钮”时,出现JPopupMenu
。 如果“按钮”在JMenuBar
,菜单是顶级窗口。 如果“按钮”是另一个菜单项,则JPopupMenu
是“右 - 右”菜单。菜单可以配置,并在一定程度上控制,由
Action
s。 使用带有菜单的Action
除了直接配置菜单之外,还有很多好处。 有关更多详细信息,请参阅Swing Components SupportingAction
,您可以在“Java教程”一节中的 How to Use Actions中找到更多信息。有关使用菜单的信息和示例,请参阅“Java教程”中的“ How to Use Menus ”一节。
警告: Swing不是线程安全的。 有关更多信息,请参阅Swing's Threading Policy 。
警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4开始,对所有JavaBeans的长期存储的支持已被添加到
java.beans
包中。 请参阅XMLEncoder
。- 从以下版本开始:
- 1.2
- 另请参见:
-
JMenuItem
,JSeparator
,JMenuBar
,JPopupMenu
, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 protected class
JMenu.AccessibleJMenu
该类实现JMenu
类的辅助功能支持。protected class
JMenu.WinListener
监听一个弹出窗口关闭的监听器类。-
Nested classes/interfaces inherited from class javax.swing.AbstractButton
AbstractButton.AccessibleAbstractButton, AbstractButton.ButtonChangeListener
-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
Nested classes/interfaces inherited from class javax.swing.JMenuItem
JMenuItem.AccessibleJMenuItem
-
-
Field Summary
Fields Modifier and Type Field 描述 protected JMenu.WinListener
popupListener
弹出窗口关闭侦听器。-
Fields inherited from class javax.swing.AbstractButton
actionListener, BORDER_PAINTED_CHANGED_PROPERTY, changeEvent, changeListener, CONTENT_AREA_FILLED_CHANGED_PROPERTY, DISABLED_ICON_CHANGED_PROPERTY, DISABLED_SELECTED_ICON_CHANGED_PROPERTY, FOCUS_PAINTED_CHANGED_PROPERTY, HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY, HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY, ICON_CHANGED_PROPERTY, itemListener, MARGIN_CHANGED_PROPERTY, MNEMONIC_CHANGED_PROPERTY, model, MODEL_CHANGED_PROPERTY, PRESSED_ICON_CHANGED_PROPERTY, ROLLOVER_ENABLED_CHANGED_PROPERTY, ROLLOVER_ICON_CHANGED_PROPERTY, ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY, SELECTED_ICON_CHANGED_PROPERTY, TEXT_CHANGED_PROPERTY, VERTICAL_ALIGNMENT_CHANGED_PROPERTY, VERTICAL_TEXT_POSITION_CHANGED_PROPERTY
-
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
-
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 Component
add(Component c)
将一个组件附加到此菜单的末尾。Component
add(Component c, int index)
在给定的位置将指定的组件添加到此容器。JMenuItem
add(String s)
创建一个带有指定文本的新菜单项,并将其附加到此菜单的末尾。JMenuItem
add(Action a)
创建附加到指定的Action
对象的新菜单项,并将其附加到此菜单的末尾。JMenuItem
add(JMenuItem menuItem)
将菜单项添加到此菜单的末尾。void
addMenuListener(MenuListener l)
为菜单事件添加一个侦听器。void
addSeparator()
在菜单末尾附加一个新的分隔符。void
applyComponentOrientation(ComponentOrientation o)
设置此菜单的ComponentOrientation
属性及其中包含的所有组件。protected PropertyChangeListener
createActionChangeListener(JMenuItem b)
返回正确配置的PropertyChangeListener
,更新控件,因为发生Action
更改。protected JMenuItem
createActionComponent(Action a)
工厂方法创建JMenuItem
为Action
添加到JMenu
。protected JMenu.WinListener
createWinListener(JPopupMenu p)
为弹出窗口创建一个关闭窗口的侦听器。void
doClick(int pressTime)
以编程方式执行“点击”。protected void
fireMenuCanceled()
通知所有在此事件类型上通知有兴趣的听众。protected void
fireMenuDeselected()
通知所有在此事件类型上通知有兴趣的听众。protected void
fireMenuSelected()
通知所有在此事件类型上通知有兴趣的听众。AccessibleContext
getAccessibleContext()
获取与此JMenu关联的AccessibleContext。Component
getComponent()
返回java.awt.Component
用于绘制这个MenuElement
。int
getDelay()
在子菜单弹出或关闭之前,返回建议的延迟(以毫秒为单位)。JMenuItem
getItem(int pos)
返回指定位置的JMenuItem
。int
getItemCount()
返回菜单上的项目数,包括分隔符。Component
getMenuComponent(int n)
返回位置n
的组件。int
getMenuComponentCount()
返回菜单上的组件数。Component[]
getMenuComponents()
返回菜单子组件Component
的数组。MenuListener[]
getMenuListeners()
返回使用addMenuListener()添加到该JMenu的所有MenuListener
的数组。JPopupMenu
getPopupMenu()
返回与此菜单关联的弹出菜单。protected Point
getPopupMenuOrigin()
计算JMenu
的弹出菜单的原点。MenuElement[]
getSubElements()
返回包含此菜单组件子菜单的MenuElement
s的数组。String
getUIClassID()
返回呈现此组件的L&F类的名称。void
insert(String s, int pos)
在给定的位置插入一个带有指定文本的新菜单项。JMenuItem
insert(Action a, int pos)
在指定的位置插入一个附加到指定的Action
对象的新菜单项。JMenuItem
insert(JMenuItem mi, int pos)
在指定的位置插入指定的JMenuitem
。void
insertSeparator(int index)
在指定位置插入分隔符。boolean
isMenuComponent(Component c)
如果指定的组件存在于子菜单层次结构中,则返回true。boolean
isPopupMenuVisible()
如果菜单的弹出窗口可见,则返回true。boolean
isSelected()
如果当前选择菜单(高亮显示),则返回true。boolean
isTearOff()
如果菜单被拆除,则返回true。boolean
isTopLevelMenu()
如果菜单是“顶级菜单”,则返回true,即如果它是菜单栏的直接子菜单。void
menuSelectionChanged(boolean isIncluded)
当菜单选择更改以激活或停用此菜单时发生消息。protected String
paramString()
返回此JMenu
的字符串表示JMenu
。protected void
processKeyEvent(KeyEvent evt)
处理关键笔划事件,如助记符和加速器。void
remove(int pos)
从此菜单中删除指定索引处的菜单项。void
remove(Component c)
从此菜单中删除组件c
。void
remove(JMenuItem item)
从此菜单中删除指定的菜单项。void
removeAll()
从此菜单中删除所有菜单项。void
removeMenuListener(MenuListener l)
删除菜单事件的监听器。void
setAccelerator(KeyStroke keyStroke)
setAccelerator
没有为JMenu
定义。void
setComponentOrientation(ComponentOrientation o)
设置用于对该组件中的元素或文本进行排序的语言敏感方向。void
setDelay(int d)
在菜单的PopupMenu
弹出或关闭之前设置建议的延迟。void
setMenuLocation(int x, int y)
设置弹出组件的位置。void
setModel(ButtonModel newModel)
设置“菜单按钮”的数据模型 - 用户点击打开或关闭菜单的标签。void
setPopupMenuVisible(boolean b)
设置菜单弹出窗口的可见性。void
setSelected(boolean b)
设置菜单的选择状态。void
updateUI()
将UI属性重新设置为来自当前外观的值。-
Methods inherited from class javax.swing.AbstractButton
addActionListener, addChangeListener, addImpl, addItemListener, checkHorizontalKey, checkVerticalKey, createActionListener, createActionPropertyChangeListener, createChangeListener, createItemListener, doClick, fireActionPerformed, fireItemStateChanged, fireStateChanged, getAction, getActionCommand, getActionListeners, getChangeListeners, getDisabledIcon, getDisabledSelectedIcon, getDisplayedMnemonicIndex, getHideActionText, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getItemListeners, getLabel, getMargin, getMnemonic, getModel, getMultiClickThreshhold, getPressedIcon, getRolloverIcon, getRolloverSelectedIcon, getSelectedIcon, getSelectedObjects, getText, getUI, getVerticalAlignment, getVerticalTextPosition, imageUpdate, isBorderPainted, isContentAreaFilled, isFocusPainted, isRolloverEnabled, paintBorder, removeActionListener, removeChangeListener, removeItemListener, removeNotify, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setDisplayedMnemonicIndex, setFocusPainted, setHideActionText, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabel, setLayout, setMargin, setMnemonic, setMnemonic, setMultiClickThreshhold, setPressedIcon, setRolloverEnabled, setRolloverIcon, setRolloverSelectedIcon, setSelectedIcon, setText, setUI, setVerticalAlignment, setVerticalTextPosition
-
Methods inherited from class 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Methods inherited from class java.awt.Container
add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, 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, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, 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, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods inherited from class javax.swing.JMenuItem
actionPropertyChanged, addMenuDragMouseListener, addMenuKeyListener, configurePropertiesFromAction, fireMenuDragMouseDragged, fireMenuDragMouseEntered, fireMenuDragMouseExited, fireMenuDragMouseReleased, fireMenuKeyPressed, fireMenuKeyReleased, fireMenuKeyTyped, getAccelerator, getMenuDragMouseListeners, getMenuKeyListeners, init, isArmed, processKeyEvent, processMenuDragMouseEvent, processMenuKeyEvent, processMouseEvent, removeMenuDragMouseListener, removeMenuKeyListener, setArmed, setEnabled, setUI
-
Methods inherited from interface javax.swing.MenuElement
processKeyEvent, processMouseEvent
-
-
-
-
字段详细信息
-
popupListener
protected JMenu.WinListener popupListener
弹出窗口关闭侦听器。- 另请参见:
-
JMenu.WinListener
-
-
构造方法详细信息
-
JMenu
public JMenu()
构造一个新的JMenu
,没有文字。
-
JMenu
public JMenu(String s)
构造一个新的JMenu
,其中提供的字符串作为其文本。- 参数
-
s
- 菜单标签的文本
-
JMenu
public JMenu(Action a)
构造菜单,其属性取自提供的Action
。- 参数
-
a
- aAction
- 从以下版本开始:
- 1.3
-
JMenu
public JMenu(String s, boolean b)
构造一个新的JMenu
,其中提供的字符串作为其文本并指定为撕下菜单。- 参数
-
s
- 菜单标签的文本 -
b
- 菜单可以被拆除(尚未实现)
-
-
方法详细信息
-
updateUI
public void updateUI()
将UI属性重新设置为来自当前外观的值。- 重写:
-
updateUI
在JMenuItem
- 另请参见:
-
JComponent.updateUI()
-
getUIClassID
@BeanProperty(bound=false) public String getUIClassID()
返回呈现此组件的L&F类的名称。- 重写:
-
getUIClassID
在JMenuItem
- 结果
- 字符串“MenuUI”
- 另请参见:
-
JComponent.getUIClassID()
,UIDefaults.getUI(javax.swing.JComponent)
-
setModel
public void setModel(ButtonModel newModel)
设置“菜单按钮”的数据模型 - 用户点击打开或关闭菜单的标签。- 重写:
-
setModel
在JMenuItem
- 参数
-
newModel
-ButtonModel
- 另请参见:
-
AbstractButton.getModel()
-
isSelected
public boolean isSelected()
如果当前选择菜单(高亮显示),则返回true。- 重写:
-
isSelected
中的AbstractButton
- 结果
- 如果选择菜单,则为true,否则为false
-
setSelected
@BeanProperty(expert=true, hidden=true, description="When the menu is selected, its popup child is shown.") public void setSelected(boolean b)
设置菜单的选择状态。- 重写:
-
setSelected
在AbstractButton
- 参数
-
b
- 真实选择(突出显示)菜单; 假取消选择菜单
-
isPopupMenuVisible
public boolean isPopupMenuVisible()
如果菜单的弹出窗口可见,则返回true。- 结果
- 如果菜单可见,则为true,否则为false
-
setPopupMenuVisible
@BeanProperty(bound=false, expert=true, hidden=true, description="The popup menu\'s visibility") public void setPopupMenuVisible(boolean b)
设置菜单弹出窗口的可见性。 如果菜单未启用,此方法将不起作用。- 参数
-
b
- 一个布尔值 - true,使菜单可见,false隐藏
-
getPopupMenuOrigin
protected Point getPopupMenuOrigin()
计算JMenu
的弹出菜单的原点。 此方法使用外观和感觉命名属性Menu.menuPopupOffsetX
,Menu.menuPopupOffsetY
,Menu.submenuPopupOffsetX
,并Menu.submenuPopupOffsetY
调整弹出的确切位置。- 结果
-
一个
Point
在菜单的坐标空间中,应该用作JMenu
的弹出菜单的原点 - 从以下版本开始:
- 1.3
-
getDelay
public int getDelay()
在子菜单弹出或关闭之前,返回建议的延迟(以毫秒为单位)。 每个外观和感觉(L&F)都可以确定自己的观察delay
属性的政策。 在大多数情况下,顶级菜单或拖动时不会发现延迟。delay
的默认值为0.此方法是外观和代码的属性,用于管理各种UI实现的特性。- 结果
-
delay
属性
-
setDelay
@BeanProperty(bound=false, expert=true, description="The delay between menu selection and making the popup menu visible") public void setDelay(int d)
在菜单的PopupMenu
弹出或关闭之前设置建议的延迟。 每个外观和感觉(L&F)可能决定了自己的观察延迟属性的策略。 在大多数情况下,顶级菜单或拖动时不会发现延迟。 该方法是外观和代码的属性,用于管理各种UI实现的特性。- 参数
-
d
- 延迟的毫秒数 - 异常
-
IllegalArgumentException
- 如果d
小于0
-
setMenuLocation
public void setMenuLocation(int x, int y)
设置弹出组件的位置。- 参数
-
x
- 弹出窗口的新位置的x坐标 -
y
- 弹出窗口的新位置的y坐标
-
add
public JMenuItem add(JMenuItem menuItem)
将菜单项添加到此菜单的末尾。 返回添加的菜单项。- 参数
-
menuItem
- 要添加的JMenuitem
- 结果
-
添加了
JMenuItem
-
add
public Component add(Component c)
将一个组件附加到此菜单的末尾。 返回添加的组件。- 重写:
-
add
中的Container
- 参数
-
c
- 要添加的Component
- 结果
-
Component
加了 - 另请参见:
-
Container.addImpl(java.awt.Component, java.lang.Object, int)
,Container.invalidate()
,Container.validate()
,JComponent.revalidate()
-
add
public Component add(Component c, int index)
在给定的位置将指定的组件添加到此容器。 如果index
等于-1,则组件将附加到结尾。- 重写:
-
add
在Container
- 参数
-
c
- 要添加的Component
-
index
- 插入组件的位置 - 结果
-
Component
加了 - 另请参见:
-
remove(javax.swing.JMenuItem)
,Container.add(Component, int)
-
add
public JMenuItem add(String s)
创建一个带有指定文本的新菜单项,并将其附加到此菜单的末尾。- 参数
-
s
- 要添加的菜单项的字符串 - 结果
-
新的
JMenuItem
-
add
public JMenuItem add(Action a)
创建附加到指定的Action
对象的新菜单项,并将其附加到此菜单的末尾。- 参数
-
a
- 要添加的菜单项的Action
- 结果
-
新的
JMenuItem
- 另请参见:
-
Action
-
createActionComponent
protected JMenuItem createActionComponent(Action a)
为Action
创建JMenuItem
工厂方法添加到JMenu
。- 参数
-
a
- 要添加的菜单项的Action
- 结果
- 新的菜单项
- 从以下版本开始:
- 1.3
- 另请参见:
-
Action
-
createActionChangeListener
protected PropertyChangeListener createActionChangeListener(JMenuItem b)
返回正确配置的PropertyChangeListener
,更新控件,因为发生Action
更改。- 参数
-
b
- 要创建PropertyChangeListener
的菜单项 - 结果
-
一个
PropertyChangeListener
为b
-
addSeparator
public void addSeparator()
在菜单末尾附加一个新的分隔符。
-
insert
public void insert(String s, int pos)
在给定的位置插入一个带有指定文本的新菜单项。- 参数
-
s
- 要添加的菜单项的文本 -
pos
- 指定添加新菜单项的位置的整数 - 异常
-
IllegalArgumentException
- 当值为pos
<0
-
insert
public JMenuItem insert(JMenuItem mi, int pos)
在给定位置插入指定的JMenuitem
。- 参数
-
mi
- 要添加的JMenuitem
-
pos
- 一个整数,指定添加新的JMenuitem
- 结果
- 新的菜单项
- 异常
-
IllegalArgumentException
- 如果值为pos
<0
-
insert
public JMenuItem insert(Action a, int pos)
在指定的位置插入一个附加到指定的Action
对象的新菜单项。- 参数
-
a
- 要添加的菜单项的Action
对象 -
pos
- 指定添加新菜单项的位置的整数 - 结果
- 新的菜单项
- 异常
-
IllegalArgumentException
- 如果值为pos
<0
-
insertSeparator
public void insertSeparator(int index)
在指定位置插入分隔符。- 参数
-
index
- 指定插入菜单分隔符的位置的整数 - 异常
-
IllegalArgumentException
- 如果值为index
<0
-
getItem
public JMenuItem getItem(int pos)
返回指定位置的JMenuItem
。 如果pos
的组件不是菜单项,则返回null
。 AWT兼容性包含此方法。- 参数
-
pos
- 指定位置的整数 - 结果
-
在指定位置的菜单项;
或者如果作为指定位置的项目不是菜单项,
null
- 异常
-
IllegalArgumentException
- 如果值为pos
<0
-
getItemCount
@BeanProperty(bound=false) public int getItemCount()
返回菜单上的项目数,包括分隔符。 AWT兼容性包含此方法。- 结果
- 整数等于菜单上的项目数
- 另请参见:
-
getMenuComponentCount()
-
isTearOff
@BeanProperty(bound=false) public boolean isTearOff()
如果菜单被拆除,则返回true。 此方法尚未实现。- 结果
- 如果菜单可以被撕下,否则为false
- 异常
-
Error
- 如果被调用 - 此方法尚未实现
-
remove
public void remove(JMenuItem item)
从此菜单中删除指定的菜单项。 如果没有弹出菜单,此方法将无效。- 参数
-
item
- 要从菜单中删除的JMenuItem
-
remove
public void remove(int pos)
从此菜单中删除指定索引处的菜单项。- 重写:
-
remove
在Container
- 参数
-
pos
- 要删除的项目的位置 - 异常
-
IllegalArgumentException
- 如果值pos
<0,或者如果pos
大于菜单项的数量 - 另请参见:
-
Container.add(java.awt.Component)
,Container.invalidate()
,Container.validate()
,Container.getComponentCount()
-
remove
public void remove(Component c)
从此菜单中删除组件c
。- 重写:
-
remove
中的Container
- 参数
-
c
- 要删除的组件 - 另请参见:
-
Container.add(java.awt.Component)
,Container.invalidate()
,Container.validate()
,Container.remove(int)
-
removeAll
public void removeAll()
从此菜单中删除所有菜单项。
-
getMenuComponentCount
@BeanProperty(bound=false) public int getMenuComponentCount()
返回菜单上的组件数。- 结果
- 一个包含菜单中的组件数的整数
-
getMenuComponent
public Component getMenuComponent(int n)
返回位置n
的组件。- 参数
-
n
- 要返回的组件的位置 - 结果
-
请求的组件,如果没有弹出菜单,
null
-
getMenuComponents
@BeanProperty(bound=false) public Component[] getMenuComponents()
返回菜单子组件的Component
的数组。 请注意,这将返回弹出菜单中的所有Component
,包括分隔符。- 结果
-
一个
Component
的数组或一个空数组,如果没有弹出菜单
-
isTopLevelMenu
@BeanProperty(bound=false) public boolean isTopLevelMenu()
如果菜单是“顶级菜单”,则返回true,即如果它是菜单栏的直接子菜单。- 结果
- 如果从菜单栏激活菜单,则为true; 如果菜单从另一个菜单上的菜单项激活,则为false
-
isMenuComponent
public boolean isMenuComponent(Component c)
如果指定的组件存在于子菜单层次结构中,则返回true。- 参数
-
c
- 要测试的Component
- 结果
-
如果存在
Component
,Component
true,否则为false
-
getPopupMenu
@BeanProperty(bound=false) public JPopupMenu getPopupMenu()
返回与此菜单关联的弹出菜单。 如果没有弹出菜单,它将创建一个。- 结果
-
JPopupMenu
与此菜单相关联
-
addMenuListener
public void addMenuListener(MenuListener l)
为菜单事件添加一个侦听器。- 参数
-
l
- 要添加的侦听器
-
removeMenuListener
public void removeMenuListener(MenuListener l)
删除菜单事件的监听器。- 参数
-
l
- 要删除的侦听器
-
getMenuListeners
@BeanProperty(bound=false) public MenuListener[] getMenuListeners()
返回使用addMenuListener()添加到该JMenu的所有MenuListener
的数组。- 结果
-
所有添加的
MenuListener
或一个空数组,如果没有添加任何监听器 - 从以下版本开始:
- 1.4
-
fireMenuSelected
protected void fireMenuSelected()
通知所有在此事件类型上通知有兴趣的听众。 事件实例是懒惰地创建的。- 异常
-
Error
- 如果有一个null
听众 - 另请参见:
-
EventListenerList
-
fireMenuDeselected
protected void fireMenuDeselected()
通知所有在此事件类型上通知有兴趣的听众。 事件实例是懒惰地创建的。- 异常
-
Error
- 如果有一个null
听众 - 另请参见:
-
EventListenerList
-
fireMenuCanceled
protected void fireMenuCanceled()
通知所有在此事件类型上通知有兴趣的听众。 事件实例是懒惰地创建的。- 异常
-
Error
- 如果有一个null
监听器 - 另请参见:
-
EventListenerList
-
createWinListener
protected JMenu.WinListener createWinListener(JPopupMenu p)
为弹出窗口创建一个关闭窗口的侦听器。- 参数
-
p
-JPopupMenu
- 结果
- 新的窗口关闭侦听器
- 另请参见:
-
JMenu.WinListener
-
menuSelectionChanged
public void menuSelectionChanged(boolean isIncluded)
当菜单选择更改以激活或停用此菜单时发生消息。 覆盖JMenuItem.menuSelectionChanged
。- Specified by:
-
menuSelectionChanged
在接口MenuElement
- 重写:
-
menuSelectionChanged
在JMenuItem
- 参数
-
isIncluded
- 如果此菜单处于活动状态,isIncluded
true,否则为false - 另请参见:
-
MenuSelectionManager.setSelectedPath(MenuElement[])
-
getSubElements
@BeanProperty(bound=false) public MenuElement[] getSubElements()
返回包含此菜单组件子菜单的MenuElement
的数组。 如果弹出菜单是null
返回一个空数组。 这种方法是符合MenuElement
接口所MenuElement
。 请注意,由于JSeparator
s不符合MenuElement
接口,此数组将只包含JMenuItem
s。- Specified by:
-
getSubElements
在接口MenuElement
- 重写:
-
getSubElements
在JMenuItem
- 结果
-
一个
MenuElement
对象的数组
-
getComponent
public Component getComponent()
返回java.awt.Component
用于绘制这个MenuElement
。 返回的组件用于转换事件并检测事件是否在菜单组件内。- Specified by:
-
getComponent
在接口MenuElement
- 重写:
-
getComponent
JMenuItem
- 结果
-
绘制此菜单项的
Component
-
applyComponentOrientation
public void applyComponentOrientation(ComponentOrientation o)
设置此菜单的ComponentOrientation
属性及其中包含的所有组件。 这包括由getMenuComponents
返回的所有组件。- 重写:
-
applyComponentOrientation
在Container
- 参数
-
o
- 此菜单的新组件方向及其中包含的组件。 - 异常
-
NullPointerException
- 如果orientation
为空。 - 从以下版本开始:
- 1.4
- 另请参见:
-
Component.setComponentOrientation(java.awt.ComponentOrientation)
,Component.getComponentOrientation()
-
setComponentOrientation
public void setComponentOrientation(ComponentOrientation o)
描述从类复制:Component
设置用于对该组件中的元素或文本进行排序的语言敏感方向。 语言敏感的LayoutManager
和Component
子类将使用此属性来确定如何布局和绘制组件。在施工时,组件的方向设置为
ComponentOrientation.UNKNOWN
,表示尚未明确指定。 UNKNOWN方向的行为与ComponentOrientation.LEFT_TO_RIGHT
相同。要设置单个组件的方向,请使用此方法。 要设置整个组件层次结构的方向,请使用
applyComponentOrientation
。该方法更改布局相关信息,因此使组件层次结构无效。
- 重写:
-
setComponentOrientation
Component
- 参数
-
o
- 要设置的方向 - 另请参见:
-
ComponentOrientation
,Component.invalidate()
-
setAccelerator
public void setAccelerator(KeyStroke keyStroke)
setAccelerator
没有为JMenu
定义。 改用setMnemonic
。- 重写:
-
setAccelerator
在JMenuItem
- 参数
-
keyStroke
- 在不导航菜单层次结构的情况下将调用JMenuItem
的keyStroke
的击键组合 - 异常
-
Error
- 如果调用 - 此方法未为JMenu定义。 改用setMnemonic
-
processKeyEvent
protected void processKeyEvent(KeyEvent evt)
处理关键笔划事件,如助记符和加速器。- 重写:
-
processKeyEvent
在JComponent
- 参数
-
evt
- 要处理的关键事件 - 另请参见:
-
KeyEvent
,KeyListener
,KeyboardFocusManager
,DefaultKeyboardFocusManager
,Component.processEvent(java.awt.AWTEvent)
,Component.dispatchEvent(java.awt.AWTEvent)
,Component.addKeyListener(java.awt.event.KeyListener)
,Component.enableEvents(long)
,Component.isShowing()
-
doClick
public void doClick(int pressTime)
以编程方式执行“点击”。 这将覆盖方法AbstractButton.doClick
以使菜单弹出。- 重写:
-
doClick
在AbstractButton
- 参数
-
pressTime
- 表示按下按钮的毫秒数
-
paramString
protected String paramString()
返回此JMenu
的字符串表示JMenu
。 该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。 返回的字符串可能为空,但可能不是null
。- 重写:
-
paramString
在JMenuItem
- 结果
- 这个JMenu的字符串表示形式。
-
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
获取与此JMenu关联的AccessibleContext。 对于JMenus,AccessibleContext采用AccessibleJMenu的形式。 如有必要,将创建一个新的AccessibleJMenu实例。- Specified by:
-
getAccessibleContext
在接口Accessible
- 重写:
-
getAccessibleContext
JMenuItem
- 结果
- 一个AccessibleJMenu作为这个JMenu的AccessibleContext
-
-