Класс 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 в нём.
Для получения информации и примеров использования панелей меню см. Как использовать меню, раздел в Руководстве Java.
Предупреждение: Swing не потокобезопасен. Для получения дополнительной информации см. Политику потоков Swing.
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, использующими одну и ту же версию Swing. Начиная с версии 1.4, поддержка долгосрочного хранения всех JavaBeans™ была добавлена в пакет java.beans. Пожалуйста, обратитесь к XMLEncoder.
Предупреждение: По умолчанию нажатие клавиши Tab не переключает фокус с компонента
JMenuBar, который добавлен в контейнер вместе с другими компонентами Swing, потому что свойство focusTraversalKeysEnabled объекта JMenuBar установлено в значение false. Для решения этой проблемы вы должны вызвать метод JMenuBar.setFocusTraversalKeysEnabled(true).
- C момента:
- 1.2
- См. также:
-
JMenu,JPopupMenu,JMenuItem, Сериализованная форма
Вложенные классы
| Модификатор и тип | Класс | Описание |
|---|---|---|
protected class | JMenuBar.AccessibleJMenuBar | Этот класс реализует поддержку доступности для класса |
Вложенные классы/интерфейсы, объявленные в классе 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(JMenu c) | Добавляет указанное меню в конец панели меню. |
void | addNotify() | Переопределяет |
AccessibleContext | getAccessibleContext() | Возвращает AccessibleContext, связанный с этим JMenuBar. |
Component | getComponent() | Реализовано как |
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() | Реализовано как |
MenuBarUI | getUI() | Возвращает текущее пользовательское интерфейс панели меню. |
String | getUIClassID() | Возвращает имя класса L&F, который отрисовывает этот компонент. |
boolean | isBorderPainted() | Возвращает true, если граница панели меню должна быть нарисована. |
boolean | isSelected() | Возвращает true, если в данный момент на панели меню выбран компонент. |
void | menuSelectionChanged(boolean isIncluded) | Реализовано как |
protected void | paintBorder(Graphics g) | Отрисовывает границу панели меню, если свойство |
protected String | paramString() | Возвращает строковое представление этого объекта |
protected boolean | processKeyBinding(KeyStroke ks,
KeyEvent e,
int condition,
boolean pressed) | Изменён для проверки всех дочерних меню. |
void | processKeyEvent(KeyEvent e,
MenuElement[] path,
MenuSelectionManager manager) | Реализовано как |
void | processMouseEvent(MouseEvent event,
MenuElement[] path,
MenuSelectionManager manager) | Реализовано как |
void | removeNotify() | Переопределяет |
void | setBorderPainted(boolean b) | Устанавливает, должна ли быть нарисована граница. |
void | setHelpMenu(JMenu menu) | Устанавливает меню справки, которое отображается, когда пользователь выбирает пункт "справка" в панели меню. |
void | setMargin(Insets m) | Устанавливает отступ между границей панели меню и её меню. |
void | setSelected(Component sel) | Устанавливает текущий выбранный компонент, производя изменение в модели выделения. |
void | setSelectionModel(SingleSelectionModel model) | Устанавливает объект модели для обработки одиночных выделений. |
void | setUI(MenuBarUI ui) | Устанавливает объект L&F, который отрисовывает этот компонент. |
void | updateUI() | Сбрасывает свойство пользовательского интерфейса со значением из текущего внешнего вида. |
Методы, объявленные в классе 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, 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, hide, 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 Методы, объявленные в классе java.lang.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(javax.swing.plaf.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(javax.swing.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(javax.swing.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- добавляемый компонент меню - Возвращает:
- компонент меню
getMenu
public JMenu getMenu(int index)
Возвращает меню по указанной позиции в строке меню.
- Параметры:
-
index- целое число, задающее позицию в строке меню, где 0 — первая позиция - Возвращает:
- меню в этой позиции или
null, если в этой позиции нет меню (т.е. если это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, если в строке меню в данный момент выделен компонент.
- Возвращает:
- 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 и свойство border неnull, граница отрисовывается. - См. также:
isBorderPainted()
paintBorder
protected void paintBorder(Graphics g)
Отрисовывает границу строки меню, если свойство BorderPainted имеет значение true.
- Переопределяет:
-
paintBorderв классеJComponent - Параметры:
-
g- контекстGraphicsдля отрисовки - См. также:
-
JComponent.paint(java.awt.Graphics),JComponent.setBorder(javax.swing.border.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(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)
removeNotify
public void removeNotify()
Переопределяет JComponent.removeNotify для отмены регистрации этой панели меню в текущем диспетчере клавиатуры.
- Переопределяет:
-
removeNotifyв классеJComponent - См. также:
JComponent.registerKeyboardAction(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)
© 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/JMenuBar.html