Spec-Zone.ru › OpenJDK 25

Класс JMenuBar

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.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
См. также:
  • JMenu
  • JPopupMenu
  • JMenuItem

Краткое описание вложенных классов

Модификатор и тип Класс Описание
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(JMenu c)
Добавляет указанное меню в конец строки меню.
void addNotify()
Переопределяет JComponent.addNotify, чтобы зарегистрировать эту строку меню в текущем диспетчере клавиатуры.
AccessibleContext getAccessibleContext()
Возвращает AccessibleContext, связанный с этим JMenuBar.
Component getComponent()
Реализован как MenuElement.
Component getComponentAtIndex(int i)
Устарел.
заменен на getComponent(int i)
int getComponentIndex(Component c)
Возвращает индекс указанного компонента.
JMenu getHelpMenu()
Возвращает справочное меню строки меню.
Insets getMargin()
Возвращает отступ между границей строки меню и ее меню.
JMenu getMenu(int index)
Возвращает меню в указанной позиции строки меню.
int getMenuCount()
Возвращает количество элементов в строке меню.
SingleSelectionModel getSelectionModel()
Возвращает объект модели, обрабатывающий одиночный выбор.
MenuElement[] getSubElements()
Реализован как MenuElement — возвращает меню этой строки меню.
MenuBarUI getUI()
Возвращает текущий UI строки меню.
String getUIClassID()
Возвращает имя класса L&F, отображающего этот компонент.
boolean isBorderPainted()
Возвращает true, если границу строки меню следует отрисовывать.
boolean isSelected()
Возвращает true, если в строке меню в данный момент выбран компонент.
void menuSelectionChanged(boolean isIncluded)
Реализован как MenuElement — ничего не делает.
protected void paintBorder(Graphics g)
Отрисовывает границу строки меню, если свойство BorderPainted имеет значение true.
protected String paramString()
Возвращает строковое представление этого JMenuBar.
protected boolean processKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed)
Переопределен в подклассе для проверки всех дочерних меню.
void processKeyEvent(KeyEvent e, MenuElement[] path, MenuSelectionManager manager)
Реализован как MenuElement — ничего не делает.
void processMouseEvent(MouseEvent event, MenuElement[] path, MenuSelectionManager manager)
Реализован как MenuElement — ничего не делает.
void removeNotify()
Переопределяет JComponent.removeNotify, чтобы отменить регистрацию этой строки меню в текущем диспетчере клавиатуры.
void setBorderPainted(boolean b)
Задает, следует ли отрисовывать границу.
void setHelpMenu(JMenu menu)
Задает справочное меню, которое отображается, когда пользователь выбирает пункт "help" в строке меню.
void setMargin(Insets m)
Задает отступ между границей строки меню и ее меню.
void setSelected(Component sel)
Задает текущий выбранный компонент, что приводит к изменению модели выбора.
void setSelectionModel(SingleSelectionModel model)
Задает объект модели для обработки одиночного выбора.
void setUI(MenuBarUI ui)
Задает объект 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

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Подробное описание конструкторов

JMenuBar

public JMenuBar()
Создает новую строку меню.

Подробное описание методов

getUI

public MenuBarUI getUI()
Возвращает текущий UI строки меню.
Переопределяет:
getUI в классе JComponent
Возвращает:
объект MenuBarUI, являющийся текущим объектом L&F строки меню
См. также:
  • setUI(MenuBarUI)

setUI

@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component's LookAndFeel.") public void setUI(MenuBarUI ui)
Задает объект L&F, отображающий этот компонент.
Параметры:
ui — новый объект L&F MenuBarUI
См. также:
  • UIDefaults.getUI(JComponent)

updateUI

public void updateUI()
Сбрасывает свойство UI, устанавливая значение из текущего оформления.
Переопределяет:
updateUI в классе JComponent
См. также:
  • JComponent.updateUI()

getUIClassID

@BeanProperty(bound=false) public String getUIClassID()
Возвращает имя класса L&F, отображающего этот компонент.
Переопределяет:
getUIClassID в классе JComponent
Возвращает:
строку "MenuBarUI"
См. также:
  • JComponent.getUIClassID()
  • UIDefaults.getUI(JComponent)

getSelectionModel

public SingleSelectionModel getSelectionModel()
Возвращает объект модели, обрабатывающий одиночный выбор.
Возвращает:
свойство SingleSelectionModel
См. также:
  • SingleSelectionModel

setSelectionModel

@BeanProperty(description="The selection model, recording which child is selected.") public void setSelectionModel(SingleSelectionModel model)
Задает объект модели для обработки одиночного выбора.
Параметры:
model — используемая SingleSelectionModel
См. также:
  • 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)
Задает справочное меню, которое отображается, когда пользователь выбирает пункт "help" в строке меню. Этот метод пока не реализован и вызовет исключение.
Параметры:
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, если в строке меню в данный момент выбран компонент.
Возвращает:
true, если выбор сделан, иначе false

isBorderPainted

public boolean isBorderPainted()
Возвращает true, если границу строки меню следует отрисовывать.
Возвращает:
true, если границу следует отрисовывать, иначе false

setBorderPainted

@BeanProperty(visualUpdate=true, description="Whether the border should be painted.") public void setBorderPainted(boolean b)
Задает, следует ли отрисовывать границу.
Параметры:
b — если значение true и свойство границы не равно null, граница отрисовывается.
См. также:
  • isBorderPainted()

paintBorder

protected void paintBorder(Graphics g)
Отрисовывает границу строки меню, если свойство BorderPainted имеет значение true.
Переопределяет:
paintBorder в классе JComponent
Параметры:
g — контекст Graphics, используемый для отрисовки
См. также:
  • JComponent.paint(Graphics)
  • JComponent.setBorder(Border)

setMargin

@BeanProperty(visualUpdate=true, description="The space between the menubar's border and its contents") public void setMargin(Insets m)
Задает отступ между границей строки меню и ее меню. Значение null приводит к использованию для строки меню отступов по умолчанию.
Параметры:
m — объект Insets, содержащий значения отступов
См. также:
  • Insets

getMargin

public Insets getMargin()
Возвращает отступ между границей строки меню и ее меню. Если ранее отступ не был задан, создается отступ по умолчанию с нулевым размером.
Возвращает:
объект Insets, содержащий значения отступов
См. также:
  • Insets

processMouseEvent

public void processMouseEvent(MouseEvent event, MenuElement[] path, MenuSelectionManager manager)
Реализован как MenuElement — ничего не делает.
Определено в:
processMouseEvent в интерфейсе MenuElement
Параметры:
event — обрабатываемое событие MouseEvent
path — путь принимающего элемента в иерархии меню
manager — MenuSelectionManager для иерархии меню
См. также:
  • getSubElements()

processKeyEvent

public void processKeyEvent(KeyEvent e, MenuElement[] path, MenuSelectionManager manager)
Реализован как MenuElement — ничего не делает.
Определено в:
processKeyEvent в интерфейсе MenuElement
Параметры:
e — обрабатываемое событие KeyEvent
path — путь принимающего элемента в иерархии меню
manager — MenuSelectionManager для иерархии меню
См. также:
  • getSubElements()

menuSelectionChanged

public void menuSelectionChanged(boolean isIncluded)
Реализован как MenuElement — ничего не делает.
Определено в:
menuSelectionChanged в интерфейсе MenuElement
Параметры:
isIncluded — может использоваться для указания, активен ли этот MenuElement (если это меню) или входит ли он в изменившийся путь меню (если это элемент меню).
См. также:
  • getSubElements()

getSubElements

@BeanProperty(bound=false) public MenuElement[] getSubElements()
Реализован как MenuElement — возвращает меню этой строки меню. Именно поэтому реализован интерфейс MenuElement: строку меню можно обрабатывать так же, как и другие элементы меню.
Определено в:
getSubElements в интерфейсе MenuElement
Возвращает:
массив элементов меню в строке меню.

getComponent

public Component getComponent()
Реализован как MenuElement. Возвращает этот объект.
Определено в:
getComponent в интерфейсе MenuElement
Возвращает:
текущий Component (этот объект)
См. также:
  • getSubElements()

paramString

protected String paramString()
Возвращает строковое представление этого JMenuBar. Этот метод предназначен только для отладки; содержимое и формат возвращаемой строки могут различаться в разных реализациях. Возвращаемая строка может быть пустой, но не может быть null.
Переопределяет:
paramString в классе JComponent
Возвращает:
строковое представление этого JMenuBar

getAccessibleContext

@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
Возвращает AccessibleContext, связанный с этим JMenuBar. Для JMenuBar объект AccessibleContext имеет тип AccessibleJMenuBar. При необходимости создается новый экземпляр AccessibleJMenuBar.
Определено в:
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
См. также:
  • JComponent.registerKeyboardAction(ActionListener, String, KeyStroke, int)

removeNotify

public void removeNotify()
Переопределяет JComponent.removeNotify, чтобы отменить регистрацию этой строки меню в текущем диспетчере клавиатуры.
Переопределяет:
removeNotify в классе JComponent
См. также:
  • JComponent.registerKeyboardAction(ActionListener, String, KeyStroke, int)

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API