-
- 实现的所有接口
-
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的弹出窗口,当用户选择JMenuBar上的项目时显示该JMenuBar。 除了JMenuItems,JMenu还可以包含JSeparators。本质上,菜单是一个带有关联
JPopupMenu的按钮。 按下“按钮”时,将显示JPopupMenu。 如果“按钮”在JMenuBar,则菜单是顶级窗口。 如果“按钮”是另一个菜单项,则JPopupMenu是“右拉”菜单。可以通过
Actions配置菜单,并在某种程度上控制Action。 使用带有菜单的Action除了直接配置菜单外,还有许多其他好处。 有关更多详细信息,请参阅Swing Components SupportingAction,您可以在“Java教程”的 How to Use Actions部分中找到更多信息。有关使用菜单的信息和示例,请参阅“Java教程”中的 How to Use Menus部分。
警告: Swing不是线程安全的。 有关更多信息,请参阅Swing's Threading Policy 。
警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始,
java.beans软件包中添加了对所有JavaBeansjava.beans长期存储的支持。 请参阅XMLEncoder。- 从以下版本开始:
- 1.2
- 另请参见:
-
JMenuItem,JSeparator,JMenuBar,JPopupMenu, Serialized Form
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 protected classJMenu.AccessibleJMenu此类实现JMenu类的可访问性支持。protected classJMenu.WinListener监听弹出窗口关闭的监听器类。-
嵌套类/接口声明在类 javax.swing.JMenuItem
JMenuItem.AccessibleJMenuItem
-
嵌套类/接口声明在类 javax.swing.AbstractButton
AbstractButton.AccessibleAbstractButton, AbstractButton.ButtonChangeListener
-
嵌套类/接口声明在类 javax.swing.JComponent
JComponent.AccessibleJComponent
-
嵌套类/接口声明在类 java.awt.Container
Container.AccessibleAWTContainer
-
-
字段汇总
字段 变量和类型 字段 描述 protected JMenu.WinListenerpopupListener弹出窗口关闭监听器。-
声明的属性在类 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
-
声明的属性在类 javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
声明的属性在类 java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Fields declared in 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
-
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 Componentadd(Component c)将组件追加到此菜单的末尾。Componentadd(Component c, int index)将指定的组件添加到给定位置的此容器中。JMenuItemadd(String s)创建具有指定文本的新菜单项,并将其附加到此菜单的末尾。JMenuItemadd(Action a)创建附加到指定的Action对象的新菜单项,并将其附加到此菜单的末尾。JMenuItemadd(JMenuItem menuItem)将菜单项追加到此菜单的末尾。voidaddMenuListener(MenuListener l)为菜单事件添加侦听器。voidaddSeparator()在菜单末尾添加一个新分隔符。voidapplyComponentOrientation(ComponentOrientation o)设置此菜单的ComponentOrientation属性及其中包含的所有组件。protected PropertyChangeListenercreateActionChangeListener(JMenuItem b)返回正确配置的PropertyChangeListener,在更改Action时更新控件。protected JMenuItemcreateActionComponent(Action a)为Action创建JMenuItem工厂方法添加到JMenu。protected JMenu.WinListenercreateWinListener(JPopupMenu p)为弹出窗口创建一个窗口关闭侦听器。voiddoClick(int pressTime)以编程方式执行“单击”。protected voidfireMenuCanceled()通知所有已注册对此事件类型的通知感兴趣的听众。protected voidfireMenuDeselected()通知所有已注册对此事件类型的通知感兴趣的听众。protected voidfireMenuSelected()通知所有已注册对此事件类型的通知感兴趣的听众。AccessibleContextgetAccessibleContext()获取与此JMenu关联的AccessibleContext。ComponentgetComponent()返回java.awt.Component用于绘制此MenuElement。intgetDelay()在弹出或关闭子菜单之前,返回建议的延迟(以毫秒为单位)。JMenuItemgetItem(int pos)返回指定位置的JMenuItem。intgetItemCount()返回菜单上的项目数,包括分隔符。ComponentgetMenuComponent(int n)返回位于n的组件。intgetMenuComponentCount()返回菜单上的组件数。Component[]getMenuComponents()返回菜单子组件的Components数组。MenuListener[]getMenuListeners()返回使用addMenuListener()添加到此JMenu的所有MenuListener的数组。JPopupMenugetPopupMenu()返回与此菜单关联的弹出菜单。protected PointgetPopupMenuOrigin()计算JMenu弹出菜单的原点。MenuElement[]getSubElements()返回包含此菜单组件子菜单的MenuElement的数组。StringgetUIClassID()返回呈现此组件的L&F类的名称。voidinsert(String s, int pos)在给定位置插入具有指定文本的新菜单项。JMenuIteminsert(Action a, int pos)在给定位置插入附加到指定Action对象的新菜单项。JMenuIteminsert(JMenuItem mi, int pos)在指定位置插入指定的JMenuitem。voidinsertSeparator(int index)在指定位置插入分隔符。booleanisMenuComponent(Component c)如果子菜单层次结构中存在指定的组件,则返回true。booleanisPopupMenuVisible()如果菜单的弹出窗口可见,则返回true。booleanisSelected()如果当前选择(突出显示)菜单,则返回true。booleanisTearOff()如果可以撕掉菜单,则返回true。booleanisTopLevelMenu()如果菜单是“顶级菜单”,即如果它是菜单栏的直接子菜单,则返回true。voidmenuSelectionChanged(boolean isIncluded)菜单栏选择更改为激活或取消激活此菜单时消息。protected StringparamString()返回此JMenu的字符串表示JMenu。protected voidprocessKeyEvent(KeyEvent evt)处理关键笔划事件,例如助记符和加速器。voidremove(int pos)从此菜单中删除指定索引处的菜单项。voidremove(Component c)从此菜单中删除组件c。voidremove(JMenuItem item)从此菜单中删除指定的菜单项。voidremoveAll()从此菜单中删除所有菜单项。voidremoveMenuListener(MenuListener l)删除菜单事件的侦听器。voidsetAccelerator(KeyStroke keyStroke)setAccelerator未定义JMenu。voidsetDelay(int d)设置弹出菜单PopupMenu之前的建议延迟。voidsetMenuLocation(int x, int y)设置弹出组件的位置。voidsetModel(ButtonModel newModel)设置“菜单按钮”的数据模型 - 用户单击以打开或关闭菜单的标签。voidsetPopupMenuVisible(boolean b)设置菜单弹出窗口的可见性。voidsetSelected(boolean b)设置菜单的选择状态。voidupdateUI()使用当前外观中的值重置UI属性。-
声明方法的类 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
-
声明方法的类 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
-
声明方法的类 javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, 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, 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
-
声明方法的类 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
-
声明方法的类 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, 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, hide, 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, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
声明方法的类 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
声明方法的接口 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-Action - 从以下版本开始:
- 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,类AbstractButton - 参数
-
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- 如果选择(突出显示)菜单,btrue; false取消选择菜单
-
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(Action a)
创建附加到指定的Action对象的新菜单项,并将其附加到此菜单的末尾。- 参数
-
a- 要添加的菜单项的Action - 结果
-
新的
JMenuItem - 另请参见:
-
Action
-
createActionComponent
protected JMenuItem createActionComponent(Action a)
创建JMenuItem的Action的工厂方法添加到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。 此方法尚未实现。- 结果
- 如果菜单可以被撕掉,则为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()
返回菜单子组件的Components数组。 请注意,这将返回弹出菜单中的所有Component,包括分隔符。- 结果
-
如果没有弹出菜单,
Components数组或空数组
-
isTopLevelMenu
@BeanProperty(bound=false) public boolean isTopLevelMenu()
如果菜单是“顶级菜单”,即如果它是菜单栏的直接子菜单,则返回true。- 结果
- 如果从菜单栏激活菜单,则为true; 如果从另一个菜单上的菜单项激活菜单,则为false
-
isMenuComponent
public boolean isMenuComponent(Component c)
如果子菜单层次结构中存在指定的组件,则返回true。- 参数
-
c- 待测试的Component - 结果
-
如果
Component存在,Componenttrue,否则为false
-
getPopupMenu
@BeanProperty(bound=false) public JPopupMenu getPopupMenu()
返回与此菜单关联的弹出菜单。 如果没有popupmenu,它将创建一个。- 结果
-
与此菜单关联的
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- 如果此菜单处于活动状态,isIncludedtrue;否则为false - 另请参见:
-
MenuSelectionManager.setSelectedPath(MenuElement[])
-
getSubElements
@BeanProperty(bound=false) public MenuElement[] getSubElements()
返回包含此菜单组件子菜单的MenuElement数组。 如果弹出菜单是null返回一个空数组。 此方法需要符合MenuElement接口。 请注意,由于JSeparators不符合MenuElement接口,因此该阵列仅包含JMenuItems。- 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()
-
setAccelerator
public void setAccelerator(KeyStroke keyStroke)
setAccelerator未定义JMenu。 请改用setMnemonic。- 重写:
-
setAccelerator在类JMenuItem - 参数
-
keyStroke- 键击组合,它将调用JMenuItem而不导航菜单层次结构 - 异常
-
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
-
-