Класс 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. Сведения и примеры использования строк меню см. в разделе Использование меню руководства The Java Tutorial.
Предупреждение: Swing не является потокобезопасной библиотекой. Дополнительные сведения см. в разделе Политика Swing в отношении потоков.
Предупреждение: Сериализованные объекты этого класса будут несовместимы с будущими выпусками Swing. Текущая поддержка сериализации предназначена для кратковременного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4, в пакет java.beans добавлена поддержка долговременного хранения всех JavaBeans. См. XMLEncoder.
Предупреждение: По умолчанию нажатие клавиши Tab не переводит фокус с объекта
JMenuBar, добавленного в контейнер вместе с другими компонентами Swing, поскольку свойство focusTraversalKeysEnabled объекта JMenuBar имеет значение false. Чтобы исправить это, вызовите метод JMenuBar.setFocusTraversalKeysEnabled(true).
- Начиная с версии:
- 1.2
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
protected class |
JMenuBar.AccessibleJMenuBar |
Этот класс реализует поддержку специальных возможностей для класса JMenuBar. |
Вложенные классы и интерфейсы, объявленные в классе JComponent
JComponent.AccessibleJComponent
Вложенные классы и интерфейсы, объявленные в классе Container
Container.AccessibleAWTContainer
Вложенные классы и интерфейсы, объявленные в классе Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Краткое описание полей
Поля, объявленные в классе JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Поля, объявленные в классе Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Поля, объявленные в интерфейсе 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() |
Возвращает текущий UI строки меню. |
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 |
Задает справочное меню, которое отображается, когда пользователь выбирает пункт "help" в строке меню. |
void |
setMargin |
Задает отступ между границей строки меню и ее меню. |
void |
setSelected |
Задает текущий выбранный компонент, что приводит к изменению модели выбора. |
void |
setSelectionModel |
Задает объект модели для обработки одиночного выбора. |
void |
setUI |
Задает объект L&F, отображающий этот компонент. |
void |
updateUI() |
Сбрасывает свойство UI, устанавливая значение из текущего оформления. |
Методы, объявленные в классе 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
Методы, объявленные в классе 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
Методы, объявленные в классе 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 и свойство границы не равно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для иерархии меню - См. также:
processKeyEvent
public void processKeyEvent(KeyEvent e, MenuElement[] path, MenuSelectionManager manager)
MenuElement — ничего не делает.- Определено в:
-
processKeyEventв интерфейсеMenuElement - Параметры:
-
e— обрабатываемое событиеKeyEvent -
path— путь принимающего элемента в иерархии меню -
manager—MenuSelectionManagerдля иерархии меню - См. также:
getSubElements
@BeanProperty(bound=false) public MenuElement[] getSubElements()
MenuElement — возвращает меню этой строки меню. Именно поэтому реализован интерфейс MenuElement: строку меню можно обрабатывать так же, как и другие элементы меню.- Определено в:
-
getSubElementsв интерфейсеMenuElement - Возвращает:
- массив элементов меню в строке меню.
getComponent
public Component getComponent()
MenuElement. Возвращает этот объект.- Определено в:
-
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
processKeyBinding
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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/JMenuBar.html
getComponent(int i)