Класс JMenu
- Все реализованные интерфейсы:
-
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. Помимо JMenuItem, меню также может содержать JSeparator.
По сути, меню — это кнопка с ассоциированным JPopupMenu. При нажатии на «кнопку» появляется JPopupMenu. Если «кнопка» расположена в JMenuBar, меню является окном верхнего уровня. Если «кнопка» — другой элемент меню, то меню — «всплывающее» меню.
Меню можно настроить и, в некоторой степени, управлять с помощью Action. Использование Action с меню предоставляет больше возможностей, чем непосредственная настройка меню. Дополнительные сведения см. в разделе Swing-компоненты, поддерживающие Action, а также в Руководстве по работе с действиями в Java Tutorial.
Дополнительную информацию и примеры использования меню см. в разделе Руководство по работе с меню в Java Tutorial.
Предупреждение: Swing не является потокобезопасным. Дополнительную информацию см. в разделе Политика потоков Swing.
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, использующими одну и ту же версию Swing. Начиная с версии 1.4, поддержка длительного хранения всех JavaBeans™ добавлена в пакет java.beans. См. XMLEncoder.
- С:
- 1.2
- См. также:
-
JMenuItem,JSeparator,JMenuBar,JPopupMenu, Сериализованная форма
Вложенные классы
| Модификатор и тип | Класс | Описание |
|---|---|---|
protected class | JMenu.AccessibleJMenu | Этот класс реализует поддержку доступности для класса |
protected class | JMenu.WinListener | Класс-слушатель, отслеживающий закрытие всплывающего окна. |
Вложенные классы/интерфейсы, объявленные в классе javax.swing.JMenuItem
JMenuItem.AccessibleJMenuItem Вложенные классы/интерфейсы, объявленные в классе javax.swing.AbstractButton
AbstractButton.AccessibleAbstractButton, AbstractButton.ButtonChangeListener Вложенные классы/интерфейсы, объявленные в классе javax.swing.JComponent
JComponent.AccessibleJComponent Вложенные классы/интерфейсы, объявленные в классе java.awt.Container
Container.AccessibleAWTContainer Вложенные классы/интерфейсы, объявленные в классе java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected JMenu.WinListener | popupListener | Слушатель закрытия окна для всплывающего меню. |
Поля, объявленные в классе 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 Поля, объявленные в интерфейсе java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH Поля, объявленные в интерфейсе 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 Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
JMenu() | Создает новое |
JMenu(String s) | Создает новое |
JMenu(String s,
boolean b) | Создает новое |
JMenu(Action a) | Создает меню, свойства которого взяты из переданного |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
Component | add(Component c) | Добавляет компонент в конец этого меню. |
Component | add(Component c,
int index) | Добавляет указанный компонент в этот контейнер в заданной позиции. |
JMenuItem | add(String s) | Создаёт новую пункт меню с указанным текстом и добавляет его в конец этого меню. |
JMenuItem | add(Action a) | Создаёт новый пункт меню, прикреплённый к указанному |
JMenuItem | add(JMenuItem menuItem) | Добавляет пункт меню в конец этого меню. |
void | addMenuListener(MenuListener l) | Добавляет обработчик событий меню. |
void | addSeparator() | Добавляет новый разделитель в конец меню. |
void | applyComponentOrientation(ComponentOrientation o) | Устанавливает свойство |
protected PropertyChangeListener | createActionChangeListener(JMenuItem b) | Возвращает правильно настроенный |
protected JMenuItem | createActionComponent(Action a) | Метод-фабрика, который создаёт |
protected JMenu.WinListener | createWinListener(JPopupMenu p) | Создаёт обработчик закрытия окна всплывающего меню. |
void | doClick(int pressTime) | Программно выполняет "нажатие" по элементу. |
protected void | fireMenuCanceled() | Уведомляет всех слушателей, которые проявили интерес к получению уведомлений об этом типе события. |
protected void | fireMenuDeselected() | Уведомляет всех слушателей, которые проявили интерес к получению уведомлений об этом типе события. |
protected void | fireMenuSelected() | Уведомляет всех слушателей, которые проявили интерес к получению уведомлений об этом типе события. |
AccessibleContext | getAccessibleContext() | Получает AccessibleContext, связанный с этим JMenu. |
Component | getComponent() | Возвращает |
int | getDelay() | Возвращает рекомендуемую задержку в миллисекундах, перед раскрытием или сворачиванием подменю. |
JMenuItem | getItem(int pos) | Возвращает |
int | getItemCount() | Возвращает количество элементов в меню, включая разделители. |
Component | getMenuComponent(int n) | Возвращает компонент в позиции |
int | getMenuComponentCount() | Возвращает количество компонентов в меню. |
Component[] | getMenuComponents() | Возвращает массив |
MenuListener[] | getMenuListeners() | Возвращает массив всех |
JPopupMenu | getPopupMenu() | Возвращает всплывающее меню, связанное с этим меню. |
protected Point | getPopupMenuOrigin() | Вычисляет начальную точку для всплывающего меню |
MenuElement[] | getSubElements() | Возвращает массив |
String | getUIClassID() | Возвращает имя класса L&F, который отрисовывает этот компонент. |
void | insert(String s,
int pos) | Вставляет новый пункт меню с указанным текстом в заданную позицию. |
JMenuItem | insert(Action a,
int pos) | Вставляет новый пункт меню, прикрепленный к указанному |
JMenuItem | insert(JMenuItem mi,
int pos) | Вставляет указанный |
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() | Возвращает строковое представление этого |
protected void | processKeyEvent(KeyEvent evt) | Обрабатывает события нажатия клавиш, такие как мнемоники и ускорители. |
void | remove(int pos) | Удаляет пункт меню в указанном индексе из этого меню. |
void | remove(Component c) | Удаляет компонент |
void | remove(JMenuItem item) | Удаляет указанный пункт меню из этого меню. |
void | removeAll() | Удаляет все пункты меню из этого меню. |
void | removeMenuListener(MenuListener l) | Удаляет обработчик событий меню. |
void | setAccelerator(KeyStroke keyStroke) |
|
void | setDelay(int d) | Устанавливает рекомендуемую задержку перед раскрытием или сворачиванием |
void | setMenuLocation(int x,
int y) | Устанавливает расположение всплывающего компонента. |
void | setModel(ButtonModel newModel) | Устанавливает модель данных для "кнопки меню" — метки, которую пользователь нажимает для открытия или закрытия меню. |
void | setPopupMenuVisible(boolean b) | Устанавливает видимость всплывающего окна меню. |
void | setSelected(boolean b) | Устанавливает состояние выбора меню. |
void | updateUI() | Сбрасывает свойство пользовательского интерфейса со значением из текущей темы оформления. |
Методы, объявленные в классе 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- true для выбора (подсветки) меню; 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. Этот метод является свойством кода внешнего вида и используется для управления особенностями различных реализаций пользовательского интерфейса.
- Возвращает:
- свойство
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) может определить свою собственную политику наблюдения за свойством задержки. В большинстве случаев задержка не соблюдается для меню верхнего уровня или во время перетаскивания. Этот метод является свойством кода внешнего вида и используется для управления особенностями различных реализаций пользовательского интерфейса.
- Параметры:
-
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)
Метод-фабрика, который создает 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)
Удаляет указанный пункт меню из этого меню. Если всплывающего меню нет, этот метод не повлияет.
- Parameters:
-
item- удаляемыйJMenuItemиз меню
remove
public void remove(int pos)
Удаляет элемент меню по указанному индексу из этого меню.
- Overrides:
-
removeв классеContainer - Parameters:
-
pos- позиция удаляемого элемента - Throws:
-
IllegalArgumentException- если значениеpos< 0 или еслиposбольше числа элементов меню - See Also:
-
Container.add(java.awt.Component),Container.invalidate(),Container.validate(),Container.getComponentCount()
remove
public void remove(Component c)
Удаляет компонент c из этого меню.
- Overrides:
-
removeв классеContainer - Parameters:
-
c- удаляемый компонент - See Also:
-
Container.add(java.awt.Component),Container.invalidate(),Container.validate(),Container.remove(int)
removeAll
public void removeAll()
Удаляет все элементы меню из этого меню.
- Overrides:
-
removeAllв классеContainer - See Also:
-
Container.add(java.awt.Component),Container.remove(int),Container.invalidate()
getMenuComponentCount
@BeanProperty(bound=false) public int getMenuComponentCount()
Возвращает количество компонентов в меню.
- Returns:
- целое число, содержащее количество компонентов в меню
getMenuComponent
public Component getMenuComponent(int n)
Возвращает компонент в позиции n.
- Parameters:
-
n- позиция возвращаемого компонента - Returns:
- запрошенный компонент или
nullесли всплывающего меню нет
getMenuComponents
@BeanProperty(bound=false) public Component[] getMenuComponents()
Возвращает массив Component подкомпонентов меню. Обратите внимание, что это возвращает все Component в всплывающем меню, включая разделители.
- Returns:
- массив
Componentили пустой массив, если всплывающего меню нет
isTopLevelMenu
@BeanProperty(bound=false) public boolean isTopLevelMenu()
Возвращает true, если меню является 'главным меню', то есть если оно является непосредственным потомком панели меню.
- Returns:
- true, если меню активировано из панели меню; false, если меню активировано из пункта меню другого меню
isMenuComponent
public boolean isMenuComponent(Component c)
Возвращает true, если указанный компонент существует в иерархии подменю.
- Parameters:
-
c- проверяемыйComponent - Returns:
- true, если
Componentсуществует, иначе false
getPopupMenu
@BeanProperty(bound=false) public JPopupMenu getPopupMenu()
Возвращает всплывающее меню, связанное с этим меню. Если всплывающего меню нет, оно создаст его.
- Returns:
- всплывающее меню, связанное с этим меню
addMenuListener
public void addMenuListener(MenuListener l)
Добавляет слушателя событий меню.
- Parameters:
-
l- добавляемый слушатель
removeMenuListener
public void removeMenuListener(MenuListener l)
Удаляет слушателя событий меню.
- Parameters:
-
l- удаляемый слушатель
getMenuListeners
@BeanProperty(bound=false) public MenuListener[] getMenuListeners()
Возвращает массив всех MenuListener добавленных к этому JMenu с помощью addMenuListener().
- Returns:
- все
MenuListenerдобавленные или пустой массив, если слушатели не были добавлены - Since:
- 1.4
fireMenuSelected
protected void fireMenuSelected()
Уведомляет всех слушателей, зарегистрировавших интерес к уведомлению об этом типе события. Экземпляр события создается лениво.
- Throws:
-
Error- если естьnullслушатель - See Also:
EventListenerList
fireMenuDeselected
protected void fireMenuDeselected()
Уведомляет всех слушателей, зарегистрировавших интерес к уведомлению об этом типе события. Экземпляр события создается лениво.
- Throws:
-
Error- если естьnullслушатель - See Also:
EventListenerList
fireMenuCanceled
protected void fireMenuCanceled()
Уведомляет всех слушателей, зарегистрировавших интерес к уведомлению об этом типе события. Экземпляр события создается лениво.
- Throws:
-
Error- если естьnullслушатель - See Also:
EventListenerList
createWinListener
protected JMenu.WinListener createWinListener(JPopupMenu p)
Создаёт слушатель закрытия окна для всплывающего меню.
- Parameters:
-
p- всплывающееJPopupMenu - Returns:
- новый слушатель закрытия окна
- See Also:
JMenu.WinListener
menuSelectionChanged
public void menuSelectionChanged(boolean isIncluded)
Получает сообщение, когда выбор в панели меню изменяется, чтобы активировать или деактивировать это меню. Переопределяет JMenuItem.menuSelectionChanged.
- Specified by:
-
menuSelectionChangedв интерфейсеMenuElement - Overrides:
-
menuSelectionChangedв классеJMenuItem - Parameters:
-
isIncluded- true, если это меню активно, false - если нет - See Also:
MenuSelectionManager.setSelectedPath(MenuElement[])
getSubElements
@BeanProperty(bound=false) public MenuElement[] getSubElements()
Возвращает массив MenuElement содержащий подменю для этого компонента меню. Если всплывающего меню нет, возвращает пустой массив. Этот метод необходим для соответствия интерфейсу MenuElement. Обратите внимание, что так как JSeparator не соответствуют интерфейсу MenuElement, этот массив будет содержать только JMenuItem.
- Specified by:
-
getSubElementsв интерфейсеMenuElement - Overrides:
-
getSubElementsв классеJMenuItem - Returns:
- массив объектов
MenuElement
getComponent
public Component getComponent()
Возвращает java.awt.Component используемое для рисования этого MenuElement. Возвращаемый компонент используется для преобразования событий и определения, находится ли событие внутри компонента меню.
- Specified by:
-
getComponentв интерфейсеMenuElement - Overrides:
-
getComponentв классеJMenuItem - Returns:
Componentрисующий этот элемент меню
applyComponentOrientation
public void applyComponentOrientation(ComponentOrientation o)
Устанавливает свойство ComponentOrientation этого меню и всех компонентов, содержащихся в нём. Это включает в себя все компоненты, возвращаемые getMenuComponents.
- Overrides:
-
applyComponentOrientationв классеContainer - Parameters:
-
o- новая ориентация компонента этого меню и содержащихся в нём компонентов. - Throws:
-
NullPointerException- еслиorientationравно null. - Since:
- 1.4
- See Also:
-
Component.setComponentOrientation(java.awt.ComponentOrientation),Component.getComponentOrientation()
setAccelerator
public void setAccelerator(KeyStroke keyStroke)
setAccelerator не определено для JMenu. Используйте setMnemonic вместо этого.
- Overrides:
-
setAcceleratorв классеJMenuItem - Parameters:
-
keyStroke- сочетание клавиш, которое вызовет обработчики действийJMenuItemбез навигации по иерархии меню - Throws:
-
Error- если вызвано -- этот метод не определён для JMenu. ИспользуйтеsetMnemonicвместо этого
processKeyEvent
protected void processKeyEvent(KeyEvent evt)
Обрабатывает события нажатия клавиш, такие как мнемоники и акселераторы.
- Overrides:
-
processKeyEventв классеJComponent - Parameters:
-
evt- событие нажатия клавиши для обработки - See Also:
-
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. Этот метод предназначен только для отладки, и содержимое и формат возвращаемой строки могут различаться в разных реализациях. Возвращаемая строка может быть пустой, но не может быть null.
- Переопределяет:
-
paramStringв классеJMenuItem - Возвращает:
- строковое представление этого JMenu.
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
Получает AccessibleContext, связанный с этим JMenu. Для JMenu AccessibleContext имеет вид AccessibleJMenu. Новый экземпляр AccessibleJMenu создаётся при необходимости.
- Определено в:
-
getAccessibleContextв интерфейсеAccessible - Переопределяет:
-
getAccessibleContextв классеJMenuItem - Возвращает:
- AccessibleJMenu, который служит AccessibleContext этого JMenu
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/swing/JMenu.html