Класс JMenuBar
- Все реализованные интерфейсы:
-
ImageObserver,MenuContainer,Serializable,Accessible,MenuElement
- Непосредственные известные подклассы:
BasicInternalFrameTitlePane.SystemMenuBar
@JavaBean(defaultProperty="UI", description="A container for holding and displaying menus.") public class JMenuBar extends JComponent implements Accessible, MenuElement
JMenu в панель меню, чтобы создать меню. Когда пользователь выбирает объект JMenu, его связанное JPopupMenu отображается, позволяя пользователю выбрать один из JMenuItems в нем. Для получения информации и примеров использования панелей меню см. Как использовать меню, раздел в Руководстве по Java.
Предупреждение: Swing не является потокобезопасным. Для получения дополнительной информации см. Политику потоков Swing.
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, использующими одну и ту же версию Swing. Начиная с версии 1.4, поддержка длительного хранения всех JavaBeans была добавлена в пакет java.beans. Пожалуйста, см. XMLEncoder.
Предупреждение: По умолчанию нажатие клавиши Tab не передает фокус из элемента
JMenuBar, добавленного в контейнер вместе с другими компонентами Swing, потому что свойство focusTraversalKeysEnabled для JMenuBar установлено в false. Чтобы решить эту проблему, вы должны вызвать метод JMenuBar.setFocusTraversalKeysEnabled(true).
- С тех пор:
- 1.2
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
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
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
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
JMenuBar() |
Создаёт новую строку меню. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
JMenu |
add |
Добавляет указанное меню в конец строки меню. |
void |
addNotify() |
Переопределяет JComponent.addNotify для регистрации этой строки меню с текущим менеджером клавиатуры. |
AccessibleContext |
getAccessibleContext() |
Возвращает AccessibleContext, связанный с этим JMenuBar. |
Component |
getComponent() |
Реализовано как MenuElement. |
Component |
getComponentAtIndex |
Устарело. |
int |
getComponentIndex |
Возвращает индекс указанного компонента. |
JMenu |
getHelpMenu() |
Возвращает меню справки для строки меню. |
Insets |
getMargin() |
Возвращает отступ между границей строки меню и её меню. |
JMenu |
getMenu |
Возвращает меню по указанной позиции в строке меню. |
int |
getMenuCount() |
Возвращает количество элементов в строке меню. |
SingleSelectionModel |
getSelectionModel() |
Возвращает объект модели, который обрабатывает одиночные выделения. |
MenuElement[] |
getSubElements() |
Реализовано как MenuElement — возвращает меню в этой строке меню. |
MenuBarUI |
getUI() |
Возвращает текущее пользовательское интерфейсное оформление строки меню. |
String |
getUIClassID() |
Возвращает имя класса L&F, который отрисовывает этот компонент. |
boolean |
isBorderPainted() |
Возвращает true, если граница строки меню должна быть отрисована. |
boolean |
isSelected() |
Возвращает true, если в строке меню в данный момент выделен компонент. |
void |
menuSelectionChanged |
Реализовано как MenuElement — ничего не делает. |
protected void |
paintBorder |
Отрисовывает границу строки меню, если свойство BorderPainted равно true. |
protected String |
paramString() |
Возвращает строковое представление этого JMenuBar. |
protected boolean |
processKeyBinding |
Переопределено для проверки всех дочерних меню. |
void |
processKeyEvent |
Реализовано как MenuElement — ничего не делает. |
void |
processMouseEvent |
Реализовано как MenuElement — ничего не делает. |
void |
removeNotify() |
Переопределяет JComponent.removeNotify для отмены регистрации этой строки меню с текущим менеджером клавиатуры. |
void |
setBorderPainted |
Устанавливает, должна ли быть отрисована граница. |
void |
setHelpMenu |
Устанавливает меню справки, которое появляется, когда пользователь выбирает «Справка» в строке меню. |
void |
setMargin |
Устанавливает отступ между границей строки меню и её меню. |
void |
setSelected |
Устанавливает текущий выделенный компонент, производя изменение в модели выделения. |
void |
setSelectionModel |
Устанавливает объект модели для обработки одиночных выделений. |
void |
setUI |
Устанавливает объект L&F, который отрисовывает этот компонент. |
void |
updateUI() |
Сбрасывает свойство UI со значением из текущего внешнего вида. |
Методы, объявленные в классе javax.swing.JComponent
addAncestorListener, 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, 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, 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
Подробное описание конструкторов
JMenuBar
public JMenuBar()
Подробное описание методов
getUI
public MenuBarUI getUI()
- Переопределяет:
-
getUIв классеJComponent - Возвращает:
- объект
MenuBarUI, представляющий текущий объект L&F строки меню - См. также:
setUI
@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component's LookAndFeel.") public void setUI(MenuBarUI ui)
- Параметры:
-
ui- новый объект L&F MenuBarUI - См. также:
updateUI
public void updateUI()
- Переопределяет:
-
updateUIв классеJComponent - См. также:
getUIClassID
@BeanProperty(bound=false) public String getUIClassID()
- Переопределяет:
-
getUIClassIDв классеJComponent - Возвращает:
- строку "MenuBarUI"
- См. также:
getSelectionModel
public SingleSelectionModel getSelectionModel()
- Возвращает:
- свойство
SingleSelectionModel - См. также:
setSelectionModel
@BeanProperty(description="The selection model, recording which child is selected.") public void setSelectionModel(SingleSelectionModel model)
- Параметры:
-
model- используемая модельSingleSelectionModel - См. также:
add
public JMenu add(JMenu c)
- Параметры:
-
c- добавляемый компонент менюJMenu - Возвращает:
- компонент меню
getMenu
public JMenu getMenu(int index)
- Параметры:
-
index- целое число, определяющее позицию в строке меню, где 0 - первая позиция - Возвращает:
JMenuв этой позиции илиnull, если в этой позиции нетJMenu(например, если это пустаяJMenuItem)
getMenuCount
@BeanProperty(bound=false) 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
@BeanProperty(bound=false) public boolean isSelected()
- Возвращает:
- true, если выделение выполнено, иначе false
isBorderPainted
public boolean isBorderPainted()
- Возвращает:
- true, если граница должна быть отрисована, иначе false
setBorderPainted
@BeanProperty(visualUpdate=true, description="Whether the border should be painted.") public void setBorderPainted(boolean b)
- Параметры:
-
b- если true и свойство border неnull, то граница отрисовывается. - См. также:
paintBorder
protected void paintBorder(Graphics g)
BorderPainted равно true.- Переопределяет:
-
paintBorderв классеJComponent - Параметры:
-
g- контекстGraphicsдля отрисовки - См. также:
setMargin
@BeanProperty(visualUpdate=true, description="The space between the menubar's border and its contents") public void setMargin(Insets m)
null приведет к использованию стандартных отступов.- Параметры:
-
m- объект Insets, содержащий значения отступа - См. также:
getMargin
public Insets getMargin()
- Возвращает:
- объект
Insets, содержащий значения отступа - См. также:
processMouseEvent
public void processMouseEvent(MouseEvent event, MenuElement[] path, MenuSelectionManager manager)
MenuElement — ничего не делает.- Определено в:
-
processMouseEventв интерфейсеMenuElement - Параметры:
-
event- обрабатываемоеMouseEvent -
path- путь получающего элемента в иерархии меню -
manager-MenuSelectionManagerдля иерархии меню - См. также:
обработкаНажатияКлавиши
public void processKeyEvent(KeyEvent e, MenuElement[] path, MenuSelectionManager manager)
- Определено в:
-
processKeyEventв интерфейсеMenuElement - Параметры:
-
e— обрабатываемое нажатие клавиши -
path— путь элемента-получателя в иерархии меню -
manager— менеджер выбора меню для иерархии меню - См. также:
getSubElements
@BeanProperty(bound=false) public MenuElement[] getSubElements()
MenuElement — чтобы строка меню обрабатывалась так же, как и другие элементы меню.- Определено в:
-
getSubElementsв интерфейсеMenuElement - Возвращает:
- массив элементов меню в строке меню.
getComponent
public Component getComponent()
- Определено в:
-
getComponentв интерфейсеMenuElement - Возвращает:
- текущий
Component(этот объект) - См. также:
paramString
protected String paramString()
JMenuBar. Этот метод предназначен только для отладки, и содержимое и формат возвращаемой строки могут различаться между реализациями. Возвращаемая строка может быть пустой, но не null.- Переопределяет:
-
paramStringв классеJComponent - Возвращает:
- строковое представление этого
JMenuBar
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
- Определено в:
-
getAccessibleContextв интерфейсеAccessible - Переопределяет:
-
getAccessibleContextв классеComponent - Возвращает:
- AccessibleJMenuBar, который служит AccessibleContext для этого JMenuBar
обработкаСвязаннойКлавиши
protected boolean processKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed)
- Переопределяет:
-
processKeyBindingв классеJComponent - Параметры:
-
ks— запросённаяKeyStroke -
e—KeyEvent -
condition— одно из следующих значений:- JComponent.WHEN_FOCUSED
- JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
- JComponent.WHEN_IN_FOCUSED_WINDOW
-
pressed— true, если клавиша нажата - Возвращает:
- true, если существовала привязка к действию, и действие было включено
- С:
- 1.3
addNotify
public void addNotify()
JComponent.addNotify для регистрации этой строки меню в текущем менеджере клавиатуры.- Переопределяет:
-
addNotifyв классеJComponent - См. также:
removeNotify
public void removeNotify()
JComponent.removeNotify для отмены регистрации этой строки меню в текущем менеджере клавиатуры.- Переопределяет:
-
removeNotifyв классеJComponent - См. также:
© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/JMenuBar.html
getComponent(int i)