Класс JMenuBar
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JMenuBar
- Все реализуемые интерфейсы:
- ImageObserver, MenuContainer, Serializable, Accessible, MenuElement
- Прямые известные подклассы:
- BasicInternalFrameTitlePane.SystemMenuBar
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).
- См. также:
-
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) Устарело. заменено на |
int |
getComponentIndex(Component c) Возвращает индекс указанного компонента. |
JMenu |
getHelpMenu() Возвращает меню справки для панели меню. |
Insets |
getMargin() Возвращает отступ между границей панели меню и её меню. |
JMenu |
getMenu(int index) Возвращает меню по указанному положению в панели меню. |
int |
getMenuCount() Возвращает количество элементов в панели меню. |
SingleSelectionModel |
getSelectionModel() Возвращает объект модели, обрабатывающий одиночные выборки. |
MenuElement[] |
getSubElements() Реализовано как |
MenuBarUI |
getUI() Возвращает текущий UI панели меню. |
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() Сбрасывает свойство UI со значением из текущего стиля отображения. |
Методы, унаследованные от класса javax.swing.JComponent
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, 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, 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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, 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 для панели меню.
- См. также:
setUI(javax.swing.plaf.MenuBarUI)
setUI
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
public String getUIClassID()
Возвращает имя класса L&F, который отрисовывает этот компонент.
- Переопределяет:
-
getUIClassIDв классеJComponent - Возвращает:
- строку "MenuBarUI"
- См. также:
-
JComponent.getUIClassID(),UIDefaults.getUI(javax.swing.JComponent)
getSelectionModel
public SingleSelectionModel getSelectionModel()
Возвращает объект модели, обрабатывающий одиночные выделения.
- Возвращает:
- свойство
SingleSelectionModel - См. также:
SingleSelectionModel
setSelectionModel
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
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 — первая - Возвращает:
- компонент в указанной позиции, или
nullдля недопустимого индекса
getComponentIndex
public int getComponentIndex(Component c)
Возвращает индекс указанного компонента.
- Параметры:
-
c- компонент, который нужно найти - Возвращает:
- целое число, определяющее позицию компонента, где 0 — первая; или -1, если компонент не найден
setSelected
public void setSelected(Component sel)
Устанавливает текущий выбранный компонент, вызывая изменение в модели выделения.
- Параметры:
-
sel- компонент, который нужно выбрать
isSelected
public boolean isSelected()
Возвращает true, если на панели меню в данный момент выбран компонент.
- Возвращает:
- true, если выделение выполнено, иначе false
isBorderPainted
public boolean isBorderPainted()
Возвращает true, если граница панели меню должна быть отрисована.
- Возвращает:
- true, если граница должна быть отрисована, иначе false
setBorderPainted
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
public void setMargin(Insets m)
Устанавливает отступ между границей панели меню и её меню. Установка в null приведет к использованию стандартных отступов для панели меню.
- Параметры:
-
m- объект Insets, содержащий значения отступа - См. также:
Insets
getMargin
public Insets getMargin()
Возвращает отступ между границей панели меню и её меню. Если отступ не был ранее задан, создаётся стандартный отступ размером 0.
- Возвращает:
- объект
Insetsс значениями отступа - См. также:
Insets
processMouseEvent
public void processMouseEvent(MouseEvent event,
MenuElement[] path,
MenuSelectionManager manager) Реализовано как MenuElement — ничего не делает.
- Определено в:
-
processMouseEventв интерфейсеMenuElement - См. также:
getSubElements()
processKeyEvent
public void processKeyEvent(KeyEvent e,
MenuElement[] path,
MenuSelectionManager manager) Реализовано как MenuElement — ничего не делает.
- Определено в:
-
processKeyEventв интерфейсеMenuElement - См. также:
getSubElements()
menuSelectionChanged
public void menuSelectionChanged(boolean isIncluded)
Реализовано как MenuElement — ничего не делает.
- Определено в:
-
menuSelectionChangedв интерфейсеMenuElement - См. также:
getSubElements()
getSubElements
public MenuElement[] getSubElements()
Реализовано как MenuElement — возвращает меню в этой панели меню. Это причина реализации интерфейса MenuElement — чтобы панель меню можно было рассматривать также, как и другие элементы меню.
- Определено в:
-
getSubElementsв интерфейсеMenuElement - Возвращает:
- массив элементов меню в панели меню.
getComponent
public Component getComponent()
Реализовано как MenuElement. Возвращает этот объект.
- Определено в:
-
getComponentв интерфейсеMenuElement - Возвращает:
- текущий объект
Component(this) - См. также:
getSubElements()
paramString
protected String paramString()
Возвращает строковое представление этого JMenuBar. Этот метод предназначен только для отладки, и содержимое и формат возвращаемой строки могут варьироваться в разных реализациях. Возвращаемая строка может быть пустой, но не null.
- Переопределяет:
-
paramStringв классеJComponent - Возвращает:
- строковое представление этого
JMenuBar
getAccessibleContext
public AccessibleContext getAccessibleContext()
Получает AccessibleContext, связанный с этим JMenuBar. Для JMenuBars 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.