Класс MenuItem
- java.lang.Object
-
- java.awt.MenuComponent
-
- java.awt.MenuItem
- Все реализованные интерфейсы:
- Serializable, Accessible
- Прямые известные подклассы:
- CheckboxMenuItem, Menu
public class MenuItem extends MenuComponent implements Accessible
Все элементы меню должны принадлежать классу MenuItem, или одному из его подклассов.
Объект по умолчанию MenuItem воплощает простой элемент меню с меткой.
На этой картинке показана строка меню с пятью элементами:
Первые два элемента — это простые элементы меню, помеченные "Basic" и "Simple". После этих двух элементов идёт разделитель, который сам по себе является элементом меню, созданным с меткой "-". Далее идёт экземпляр CheckboxMenuItem с меткой "Check". Последний элемент меню — подменю с меткой "More Examples", и это подменю является экземпляром Menu.
При выборе элемента меню AWT отправляет событие действия элементу меню. Поскольку событие является экземпляром ActionEvent, метод processEvent проверяет событие и передает его processActionEvent. Последний метод перенаправляет событие любым объектам ActionListener, которые зарегистрировали интерес к событиям действий, генерируемым этим элементом меню.
Обратите внимание, что подкласс Menu переопределяет это поведение и не отправляет никаких событий в фрейм, пока не будет выбран один из его подэлементов.
- См. также:
- Сериализованная форма
Вложенные классы
| Модификатор и тип | Класс и описание |
|---|---|
protected class |
MenuItem.AccessibleAWTMenuItem Внутренний класс MenuItem, используемый для предоставления стандартной поддержки доступности. |
Вложенные классы/интерфейсы, унаследованные от класса java.awt.MenuComponent
MenuComponent.AccessibleAWTMenuComponent Конструкторы
| Конструктор и описание |
|---|
MenuItem() Создаёт новый MenuItem с пустой меткой и без сочетания клавиш. |
MenuItem(String label) Создаёт новый MenuItem с указанной меткой и без сочетания клавиш. |
MenuItem(String label,
MenuShortcut s) Создаёт элемент меню с ассоциированным сочетанием клавиш. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
addActionListener(ActionListener l) Добавляет указанного обработчика событий действий для получения событий действий от этого элемента меню. |
void |
addNotify() Создаёт виджет элемента меню. |
void |
deleteShortcut() Удаляет любой объект |
void |
disable() Устарело. С версии JDK 1.1 заменён на |
protected void |
disableEvents(long eventsToDisable) Отключает доставку событий для этого элемента меню для событий, определённых заданным параметром маски событий. |
void |
enable() Устарело. С версии JDK 1.1 заменён на |
void |
enable(boolean b) Устарело. С версии JDK 1.1 заменён на |
protected void |
enableEvents(long eventsToEnable) Включает доставку событий для этого элемента меню для событий, определённых заданным параметром маски событий |
AccessibleContext |
getAccessibleContext() Получает AccessibleContext, связанный с этим элементом MenuItem. |
String |
getActionCommand() Получает имя команды события действия, которое генерируется этим элементом меню. |
ActionListener[] |
getActionListeners() Возвращает массив всех обработчиков событий действий, зарегистрированных в этом элементе меню. |
String |
getLabel() Получает метку для этого элемента меню. |
<T extends EventListener> |
getListeners(Class<T> listenerType) Возвращает массив всех объектов, в настоящее время зарегистрированных как |
MenuShortcut |
getShortcut() Получает объект |
boolean |
isEnabled() Проверяет, включён ли этот элемент меню. |
String |
paramString() Возвращает строку, представляющую состояние этого |
protected void |
processActionEvent(ActionEvent e) Обрабатывает события действий, происходящие на этом элементе меню, рассылая их любым зарегистрированным объектам |
protected void |
processEvent(AWTEvent e) Обрабатывает события на этом элементе меню. |
void |
removeActionListener(ActionListener l) Удаляет указанного обработчика событий действий, чтобы он больше не получал события действий от этого элемента меню. |
void |
setActionCommand(String command) Устанавливает имя команды события действия, которое генерируется этим элементом меню. |
void |
setEnabled(boolean b) Устанавливает, можно ли выбрать этот элемент меню. |
void |
setLabel(String label) Устанавливает метку для этого элемента меню на заданную метку. |
void |
setShortcut(MenuShortcut s) Устанавливает объект |
Методы, унаследованные от класса java.awt.MenuComponent
dispatchEvent, getFont, getName, getParent, getPeer, getTreeLock, postEvent, removeNotify, setFont, setName, toString Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Конструкторы
MenuItem
public MenuItem()
throws HeadlessException Создаёт новый MenuItem с пустым меткой и без сочетания клавиш.
- Исключение:
-
HeadlessException- если GraphicsEnvironment.isHeadless() возвращает true. - С тех пор:
- JDK1.1
- См. также:
GraphicsEnvironment.isHeadless()
MenuItem
public MenuItem(String label)
throws HeadlessException Создаёт новый MenuItem с указанной меткой и без сочетания клавиш. Обратите внимание, что использование "-" в метке зарезервировано для обозначения разделителя между элементами меню. По умолчанию все элементы меню, кроме разделителей, включены.
- Параметры:
-
label- метка этого элемента меню. - Исключение:
-
HeadlessException- если GraphicsEnvironment.isHeadless() возвращает true. - С тех пор:
- JDK1.0
- См. также:
GraphicsEnvironment.isHeadless()
MenuItem
public MenuItem(String label,
MenuShortcut s)
throws HeadlessException Создаёт элемент меню с сопутствующим сочетанием клавиш. Обратите внимание, что использование "-" в метке зарезервировано для обозначения разделителя между элементами меню. По умолчанию все элементы меню, кроме разделителей, включены.
- Параметры:
-
label- метка этого элемента меню. -
s- экземплярMenuShortcut, связанный с этим элементом меню. - Исключение:
-
HeadlessException- если GraphicsEnvironment.isHeadless() возвращает true. - С тех пор:
- JDK1.1
- См. также:
GraphicsEnvironment.isHeadless()
Методы
addNotify
public void addNotify()
Создаёт компонент-представитель элемента меню. Представитель позволяет изменить внешний вид элемента меню без изменения его функциональности.
getLabel
public String getLabel()
Возвращает метку этого элемента меню.
- Возвращает:
- метку этого элемента меню или
null, если у этого элемента меню нет метки. - С тех пор:
- JDK1.0
- См. также:
setLabel(java.lang.String)
setLabel
public void setLabel(String label)
Устанавливает метку для этого элемента меню на заданную метку.
- Параметры:
-
label- новая метка илиnull, если метка не нужна. - С тех пор:
- JDK1.0
- См. также:
getLabel()
isEnabled
public boolean isEnabled()
Проверяет, включен ли данный элемент меню.
- С тех пор:
- JDK1.0
- См. также:
setEnabled(boolean)
setEnabled
public void setEnabled(boolean b)
Устанавливает, может ли быть выбран данный элемент меню.
- Параметры:
-
b- еслиtrue, включает данный элемент меню; еслиfalse, отключает его. - С тех пор:
- JDK1.1
- См. также:
isEnabled()
enable
@Deprecated public void enable()
Устарело. С версии JDK 1.1 заменено на setEnabled(boolean).
enable
@Deprecated public void enable(boolean b)
Устарело. С версии JDK 1.1 заменено на setEnabled(boolean).
disable
@Deprecated public void disable()
Устарело. С версии JDK 1.1 заменено на setEnabled(boolean).
getShortcut
public MenuShortcut getShortcut()
Получить объект MenuShortcut , связанный с данным элементом меню.
- Возвращает:
- сочетание клавиш, связанное с этим элементом меню, или
null, если оно не указано. - С тех пор:
- JDK1.1
- См. также:
setShortcut(java.awt.MenuShortcut)
setShortcut
public void setShortcut(MenuShortcut s)
Установить объект MenuShortcut , связанный с этим элементом меню. Если сочетание клавиш уже связано с этим элементом меню, оно заменяется.
- Параметры:
-
s- сочетание клавиш для связывания с этим элементом меню. - С тех пор:
- JDK1.1
- См. также:
getShortcut()
deleteShortcut
public void deleteShortcut()
Удалить любой объект MenuShortcut , связанный с этим элементом меню.
- С тех пор:
- JDK1.1
enableEvents
protected final void enableEvents(long eventsToEnable)
Включает доставку событий в этот элемент меню для событий, определяемых заданным параметром маски событий.
Поскольку типы событий автоматически включаются при добавлении слушателя для данного типа в элемент меню, этот метод необходимо вызывать только подклассам MenuItem, которые хотят, чтобы указанные типы событий доставлялись в processEvent независимо от того, зарегистрирован ли слушатель.
- Параметры:
-
eventsToEnable- маска событий, определяющая типы событий - С тех пор:
- JDK1.1
- См. также:
-
processEvent(java.awt.AWTEvent),disableEvents(long),Component.enableEvents(long)
disableEvents
protected final void disableEvents(long eventsToDisable)
Отключает доставку событий в этот элемент меню для событий, определённых заданной маской событий.
- Параметры:
-
eventsToDisable- маска событий, определяющая типы событий - С тех пор:
- JDK1.1
- См. также:
-
processEvent(java.awt.AWTEvent),enableEvents(long),Component.disableEvents(long)
setActionCommand
public void setActionCommand(String command)
Устанавливает имя команды события действия, которое генерируется этим элементом меню.
По умолчанию команда действия устанавливается в метку элемента меню.
- Параметры:
-
command- команда действия для данного элемента меню. - С тех пор:
- JDK1.1
- См. также:
getActionCommand()
getActionCommand
public String getActionCommand()
Возвращает имя команды события действия, которое генерируется этим элементом меню.
- С тех пор:
- JDK1.1
- См. также:
setActionCommand(java.lang.String)
addActionListener
public void addActionListener(ActionListener l)
Добавляет указанного слушателя событий действия для получения событий действия от этого элемента меню. Если l равно null, исключение не выбрасывается и действие не выполняется.
См. Вопросы потоков AWT для получения подробной информации о модели потоков AWT.
- Параметры:
-
l- слушатель событий действия. - С тех пор:
- JDK1.1
- См. также:
-
removeActionListener(java.awt.event.ActionListener),getActionListeners(),ActionEvent,ActionListener
removeActionListener
public void removeActionListener(ActionListener l)
Удаляет указанного слушателя событий действия, чтобы он больше не получал события действия от этого элемента меню. Если l равно null, исключение не выбрасывается и действие не выполняется.
См. Вопросы потоков AWT для получения подробной информации о модели потоков AWT.
- Параметры:
-
l- слушатель событий действия. - С тех пор:
- JDK1.1
- См. также:
-
addActionListener(java.awt.event.ActionListener),getActionListeners(),ActionEvent,ActionListener
getActionListeners
public ActionListener[] getActionListeners()
Возвращает массив всех зарегистрированных слушателей событий действия на этом элементе меню.
- Возвращает:
- все слушатели событий действия данного элемента меню или пустой массив, если слушателей событий действия не зарегистрировано
- С тех пор:
- 1.4
- См. также:
-
addActionListener(java.awt.event.ActionListener),removeActionListener(java.awt.event.ActionListener),ActionEvent,ActionListener
getListeners
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
Возвращает массив всех объектов, которые в данный момент зарегистрированы в качестве FooListener на данном MenuItem. FooListener регистрируются с помощью метода addFooListener.
Вы можете указать аргумент listenerType с использованием литерала класса, например FooListener.class. Например, вы можете запросить слушателей событий действия для MenuItem m следующим кодом:
ActionListener[] als = (ActionListener[])(m.getListeners(ActionListener.class));Если таких слушателей нет, этот метод возвращает пустой массив.
- Параметры:
-
listenerType- тип запрашиваемых слушателей; этот параметр должен указывать интерфейс, унаследованный отjava.util.EventListener - Возвращает:
- массив всех объектов, зарегистрированных в качестве
FooListenerдля этого элемента меню, или пустой массив, если такие слушатели не были добавлены - Исключение:
-
ClassCastException- еслиlistenerTypeне указывает класс или интерфейс, реализующийjava.util.EventListener - С тех пор:
- 1.3
- См. также:
getActionListeners()
processEvent
protected void processEvent(AWTEvent e)
Обрабатывает события для данного элемента меню. Если событие является экземпляром ActionEvent, вызывается processActionEvent, другой метод, определённый MenuItem.
В настоящее время элементы меню поддерживают только события действия.
Обратите внимание, что если параметр события null , поведение не определено и может привести к исключению.
- Переопределяет:
-
processEventв классеMenuComponent - Параметры:
-
e- событие - С тех пор:
- JDK1.1
- См. также:
processActionEvent(java.awt.event.ActionEvent)
processActionEvent
protected void processActionEvent(ActionEvent e)
Обрабатывает события действий, происходящие в этом пункте меню, рассылая их зарегистрированным ActionListener объектам. Этот метод не вызывается, если события действий не включены для этого компонента. События действий включены, когда выполняется одно из следующих условий:
- Объект
ActionListenerзарегистрирован с помощьюaddActionListener. - События действий включены с помощью
enableEvents.
Обратите внимание, что если параметр события равен null, поведение не определено и может привести к исключению.
- Параметры:
-
e- событие действия - С тех пор:
- JDK1.1
- См. также:
-
ActionEvent,ActionListener,enableEvents(long)
paramString
public String paramString()
Возвращает строку, представляющую состояние этого MenuItem. Этот метод предназначен только для отладки, и содержимое и формат возвращаемой строки могут различаться в разных реализациях. Возвращаемая строка может быть пустой, но не null.
- Переопределяет:
-
paramStringв классеMenuComponent - Возвращает:
- строку параметра этого пункта меню
getAccessibleContext
public AccessibleContext getAccessibleContext()
Получает AccessibleContext, связанный с этим MenuItem. Для пунктов меню AccessibleContext принимает вид AccessibleAWTMenuItem. Новый экземпляр AccessibleAWTMenuItem создаётся при необходимости.
- Определено в:
-
getAccessibleContextв интерфейсеAccessible - Переопределяет:
-
getAccessibleContextв классеMenuComponent - Возвращает:
- AccessibleAWTMenuItem, который служит AccessibleContext этого MenuItem
- С тех пор:
- 1.3
© 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.