Spec-Zone.ru › OpenJDK 27

Класс MouseEvent

java.lang.Object
java.util.EventObject
java.awt.AWTEvent
java.awt.event.ComponentEvent
java.awt.event.InputEvent
java.awt.event.MouseEvent
Все реализованные интерфейсы:
Serializable
Прямые известные подклассы:
MenuDragMouseEvent, MouseWheelEvent
public non-sealed class MouseEvent extends InputEvent
Событие, указывающее на то, что в компоненте произошло действие мышью. Действие мышью считается произошедшим в определённом компоненте тогда и только тогда, когда в момент действия курсор мыши находится над незакрытой частью границ компонента. Для облегчённых компонентов, таких как компоненты Swing, события мыши отправляются компоненту только в том случае, если для него включён соответствующий тип события мыши. Тип события мыши включается путём добавления к компоненту соответствующего слушателя EventListener, связанного с мышью (MouseListener или MouseMotionListener), либо вызовом метода Component.enableEvents(long) с соответствующим параметром маски (AWTEvent.MOUSE_EVENT_MASK или AWTEvent.MOUSE_MOTION_EVENT_MASK). Если тип события мыши не включён для компонента, соответствующие события мыши отправляются первому предку, для которого этот тип события включён.

Например, если к компоненту добавлен MouseListener или вызван enableEvents(AWTEvent.MOUSE_EVENT_MASK), то все события, определённые MouseListener, отправляются компоненту. С другой стороны, если MouseMotionListener не добавлен и enableEvents не вызван с AWTEvent.MOUSE_MOTION_EVENT_MASK, события перемещения мыши компоненту не отправляются. Вместо этого события перемещения мыши отправляются первому предку, для которого они включены.

Это низкоуровневое событие генерируется объектом компонента при:

  • событиях мыши
    • нажатии кнопки мыши
    • отпускании кнопки мыши
    • щелчке кнопкой мыши (нажатии и отпускании)
    • входе курсора мыши в незакрытую часть геометрической области компонента
    • выходе курсора мыши из незакрытой части геометрической области компонента
  • событиях перемещения мыши
    • перемещении мыши
    • перетаскивании мыши

Объект MouseEvent передаётся каждому объекту MouseListener или MouseAdapter, зарегистрированному для получения представляющих интерес событий мыши с помощью метода addMouseListener компонента. (Объекты MouseAdapter реализуют интерфейс MouseListener.) Каждый такой объект-слушатель получает MouseEvent, содержащее событие мыши.

Объект MouseEvent также передаётся каждому объекту MouseMotionListener или MouseMotionAdapter, зарегистрированному для получения событий перемещения мыши с помощью метода addMouseMotionListener компонента. (Объекты MouseMotionAdapter реализуют интерфейс MouseMotionListener.) Каждый такой объект-слушатель получает MouseEvent, содержащее событие перемещения мыши.

При щелчке кнопкой мыши события генерируются и отправляются зарегистрированным слушателям MouseListener. Состояние клавиш-модификаторов можно получить с помощью методов InputEvent.getModifiers() и InputEvent.getModifiersEx(). Маска кнопки, возвращаемая методом InputEvent.getModifiers(), отражает только кнопку, состояние которой изменилось, а не текущее состояние всех кнопок. (Примечание. Из-за совпадения значений ALT_MASK/BUTTON2_MASK и META_MASK/BUTTON3_MASK это не всегда верно для событий мыши с клавишами-модификаторами.) Чтобы получить состояние всех кнопок и клавиш-модификаторов, используйте InputEvent.getModifiersEx(). Кнопка, состояние которой изменилось, возвращается методом getButton()

Например, если нажата первая кнопка мыши, события отправляются в следующем порядке:


    id              modifiers    button
    MOUSE_PRESSED:  BUTTON1_MASK BUTTON1
    MOUSE_RELEASED: BUTTON1_MASK BUTTON1
    MOUSE_CLICKED:  BUTTON1_MASK BUTTON1
 
При нажатии нескольких кнопок мыши каждое нажатие, отпускание и щелчок приводит к отдельному событию.

Например, если пользователь нажимает кнопку 1, затем кнопку 2, а после этого отпускает их в том же порядке, генерируется следующая последовательность событий:


    id              modifiers    button
    MOUSE_PRESSED:  BUTTON1_MASK BUTTON1
    MOUSE_PRESSED:  BUTTON2_MASK BUTTON2
    MOUSE_RELEASED: BUTTON1_MASK BUTTON1
    MOUSE_CLICKED:  BUTTON1_MASK BUTTON1
    MOUSE_RELEASED: BUTTON2_MASK BUTTON2
    MOUSE_CLICKED:  BUTTON2_MASK BUTTON2
 
Если кнопка 2 отпущена первой, сначала поступает пара MOUSE_RELEASED/MOUSE_CLICKED для BUTTON2_MASK, а затем пара для BUTTON1_MASK.

Для расширения стандартного набора кнопок добавляются дополнительные кнопки мыши, представленные следующими константами: BUTTON1, BUTTON2 и BUTTON3. Для дополнительных кнопок не назначены константы BUTTONx, а их маскам кнопок не назначены константы BUTTONx_DOWN_MASK. Тем не менее в качестве номеров кнопок (идентификаторов кнопок) можно использовать порядковые номера, начиная с 4. Значения, полученные методом getMaskForButton(button), можно использовать как маски кнопок.

События MOUSE_DRAGGED доставляются объекту Component, в котором была нажата кнопка мыши, вплоть до отпускания кнопки мыши (независимо от того, находится ли указатель мыши в пределах границ Component). Из-за зависящих от платформы реализаций перетаскивания MOUSE_DRAGGED события могут не доставляться во время собственной операции перетаскивания. В многомониторной среде события перетаскивания мыши доставляются объекту Component, даже если указатель мыши находится за пределами границ GraphicsConfiguration, связанного с этим Component. Однако в этом случае сообщаемые координаты событий перетаскивания мыши могут отличаться от фактического положения мыши:

  • В многомониторной среде без виртуального устройства:
    сообщаемые координаты событий перетаскивания мыши ограничиваются границами GraphicsConfiguration, связанного с Component.
  • В многомониторной среде с виртуальным устройством:
    сообщаемые координаты событий перетаскивания мыши ограничиваются границами виртуального устройства, связанного с Component.

Поведение не определено, если параметр id какого-либо экземпляра MouseEvent не находится в диапазоне от MOUSE_FIRST до MOUSE_LAST-1 (значение MOUSE_WHEEL недопустимо).

Начиная с версии:
1.1
См. также:
  • MouseAdapter
  • MouseListener
  • MouseMotionAdapter
  • MouseMotionListener
  • MouseWheelListener
  • Учебное руководство: написание слушателя событий мыши
  • Учебное руководство: написание слушателя перемещения мыши
  • Сериализованная форма

Краткое описание полей

Модификатор и тип Поле Описание
static final int BUTTON1
Обозначает кнопку мыши № 1; используется в getButton().
static final int BUTTON2
Обозначает кнопку мыши № 2; используется в getButton().
static final int BUTTON3
Обозначает кнопку мыши № 3; используется в getButton().
static final int MOUSE_CLICKED
Событие «щелчок мышью».
static final int MOUSE_DRAGGED
Событие «перетаскивание мышью».
static final int MOUSE_ENTERED
Событие «вход указателя мыши».
static final int MOUSE_EXITED
Событие «выход указателя мыши».
static final int MOUSE_FIRST
Первый номер в диапазоне идентификаторов, используемых для событий мыши.
static final int MOUSE_LAST
Последний номер в диапазоне идентификаторов, используемых для событий мыши.
static final int MOUSE_MOVED
Событие «перемещение мыши».
static final int MOUSE_PRESSED
Событие «нажатие кнопки мыши».
static final int MOUSE_RELEASED
Событие «отпускание кнопки мыши».
static final int MOUSE_WHEEL
Событие «колесо мыши».
static final int NOBUTTON
Обозначает отсутствие нажатых кнопок мыши; используется в getButton().

Поля, объявленные в классе InputEvent

ALT_DOWN_MASK, ALT_GRAPH_DOWN_MASK, ALT_GRAPH_MASK, ALT_MASK, BUTTON1_DOWN_MASK, BUTTON1_MASK, BUTTON2_DOWN_MASK, BUTTON2_MASK, BUTTON3_DOWN_MASK, BUTTON3_MASK, CTRL_DOWN_MASK, CTRL_MASK, META_DOWN_MASK, META_MASK, SHIFT_DOWN_MASK, SHIFT_MASK
Модификатор и тип Поле Описание
static final int ALT_DOWN_MASK
Расширенная константа модификатора клавиши Alt.
static final int ALT_GRAPH_DOWN_MASK
Расширенная константа модификатора клавиши AltGraph.
static final int ALT_GRAPH_MASK
Устарело.
Рекомендуется вместо этого использовать ALT_GRAPH_DOWN_MASK и InputEvent.getModifiersEx()
static final int ALT_MASK
Устарело.
Рекомендуется вместо этого использовать ALT_DOWN_MASK и InputEvent.getModifiersEx()
static final int BUTTON1_DOWN_MASK
Расширенная константа модификатора кнопки мыши 1.
static final int BUTTON1_MASK
Устарело.
Рекомендуется вместо этого использовать BUTTON1_DOWN_MASK и InputEvent.getModifiersEx()
static final int BUTTON2_DOWN_MASK
Расширенная константа модификатора кнопки мыши 2.
static final int BUTTON2_MASK
Устарело.
Рекомендуется вместо этого использовать BUTTON2_DOWN_MASK и InputEvent.getModifiersEx().
static final int BUTTON3_DOWN_MASK
Расширенная константа модификатора кнопки мыши 3.
static final int BUTTON3_MASK
Устарело.
Рекомендуется вместо этого использовать BUTTON3_DOWN_MASK и InputEvent.getModifiersEx().
static final int CTRL_DOWN_MASK
Расширенная константа модификатора клавиши Control.
static final int CTRL_MASK
Устарело.
Рекомендуется вместо этого использовать CTRL_DOWN_MASK и InputEvent.getModifiersEx()
static final int META_DOWN_MASK
Расширенная константа модификатора клавиши Meta.
static final int META_MASK
Устарело.
Рекомендуется вместо этого использовать META_DOWN_MASK и InputEvent.getModifiersEx()
static final int SHIFT_DOWN_MASK
Расширенная константа модификатора клавиши Shift.
static final int SHIFT_MASK
Устарело.
Рекомендуется вместо этого использовать SHIFT_DOWN_MASK и InputEvent.getModifiersEx()

Поля, объявленные в классе ComponentEvent

COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWN
Модификатор и тип Поле Описание
static final int COMPONENT_FIRST
Первый номер в диапазоне идентификаторов, используемых для событий компонентов.
static final int COMPONENT_HIDDEN
Это событие указывает, что компонент стал невидимым.
static final int COMPONENT_LAST
Последний номер в диапазоне идентификаторов, используемых для событий компонентов.
static final int COMPONENT_MOVED
Это событие указывает, что положение компонента изменилось.
static final int COMPONENT_RESIZED
Это событие указывает, что размер компонента изменился.
static final int COMPONENT_SHOWN
Это событие указывает, что компонент стал видимым.

Поля, объявленные в классе AWTEvent

ACTION_EVENT_MASK, ADJUSTMENT_EVENT_MASK, COMPONENT_EVENT_MASK, consumed, CONTAINER_EVENT_MASK, FOCUS_EVENT_MASK, HIERARCHY_BOUNDS_EVENT_MASK, HIERARCHY_EVENT_MASK, id, INPUT_METHOD_EVENT_MASK, INVOCATION_EVENT_MASK, ITEM_EVENT_MASK, KEY_EVENT_MASK, MOUSE_EVENT_MASK, MOUSE_MOTION_EVENT_MASK, MOUSE_WHEEL_EVENT_MASK, PAINT_EVENT_MASK, RESERVED_ID_MAX, TEXT_EVENT_MASK, WINDOW_EVENT_MASK, WINDOW_FOCUS_EVENT_MASK, WINDOW_STATE_EVENT_MASK
Модификатор и тип Поле Описание
static final long ACTION_EVENT_MASK
Маска событий для выбора событий действий.
static final long ADJUSTMENT_EVENT_MASK
Маска событий для выбора событий настройки.
static final long COMPONENT_EVENT_MASK
Маска событий для выбора событий компонентов.
protected boolean consumed
Определяет, будет ли событие передано обратно нижележащему компоненту после его обработки источником: значение false означает, что событие будет передано компоненту; true — что не будет.
static final long CONTAINER_EVENT_MASK
Маска событий для выбора событий контейнеров.
static final long FOCUS_EVENT_MASK
Маска событий для выбора событий фокуса.
static final long HIERARCHY_BOUNDS_EVENT_MASK
Маска событий для выбора событий границ иерархии.
static final long HIERARCHY_EVENT_MASK
Маска событий для выбора событий иерархии.
protected int id
Идентификатор события.
static final long INPUT_METHOD_EVENT_MASK
Маска событий для выбора событий методов ввода.
static final long INVOCATION_EVENT_MASK
Маска событий для выбора событий вызова.
static final long ITEM_EVENT_MASK
Маска событий для выбора событий элементов.
static final long KEY_EVENT_MASK
Маска событий для выбора событий клавиатуры.
static final long MOUSE_EVENT_MASK
Маска событий для выбора событий мыши.
static final long MOUSE_MOTION_EVENT_MASK
Маска событий для выбора событий перемещения мыши.
static final long MOUSE_WHEEL_EVENT_MASK
Маска событий для выбора событий колеса мыши.
static final long PAINT_EVENT_MASK
Маска событий для выбора событий отрисовки.
static final int RESERVED_ID_MAX
Максимальное значение зарезервированных идентификаторов событий AWT.
static final long TEXT_EVENT_MASK
Маска событий для выбора текстовых событий.
static final long WINDOW_EVENT_MASK
Маска событий для выбора событий окон.
static final long WINDOW_FOCUS_EVENT_MASK
Маска событий для выбора событий фокуса окна.
static final long WINDOW_STATE_EVENT_MASK
Маска событий для выбора событий состояния окна.

Поля, объявленные в классе EventObject

source
Модификатор и тип Поле Описание
protected Object source
Объект, на котором изначально произошло событие.

Краткое описание конструкторов

Конструктор Описание
MouseEvent(Component source, int id, long when, int modifiers, int x, int y, int clickCount, boolean popupTrigger)
Создает объект MouseEvent с указанными исходным компонентом, типом, модификаторами, координатами, числом щелчков и флагом popupTrigger.
MouseEvent(Component source, int id, long when, int modifiers, int x, int y, int clickCount, boolean popupTrigger, int button)
Создает объект MouseEvent с указанными исходным компонентом, типом, временем, модификаторами, координатами, числом щелчков, флагом popupTrigger и номером кнопки.
MouseEvent(Component source, int id, long when, int modifiers, int x, int y, int xAbs, int yAbs, int clickCount, boolean popupTrigger, int button)
Создает объект MouseEvent с указанными исходным компонентом, типом, временем, модификаторами, координатами, абсолютными координатами, числом щелчков, флагом popupTrigger и номером кнопки.

Краткое описание методов

Модификатор и тип Метод Описание
int getButton()
Возвращает сведения о том, какая из кнопок мыши, если таковая есть, изменила состояние.
int getClickCount()
Возвращает число щелчков мышью, связанных с этим событием.
Point getLocationOnScreen()
Возвращает абсолютное положение события по координатам x и y.
static String getMouseModifiersText(int modifiers)
Возвращает экземпляр String с описанием клавиш-модификаторов и кнопок мыши, нажатых во время события, например «Shift» или «Ctrl+Shift».
Point getPoint()
Возвращает положение события по координатам x и y относительно исходного компонента.
int getX()
Возвращает горизонтальную координату x события относительно исходного компонента.
int getXOnScreen()
Возвращает абсолютную горизонтальную координату x события.
int getY()
Возвращает вертикальную координату y события относительно исходного компонента.
int getYOnScreen()
Возвращает абсолютную вертикальную координату y события.
boolean isPopupTrigger()
Возвращает сведения о том, является ли это событие мыши событием вызова всплывающего меню на данной платформе.
String paramString()
Возвращает строку параметров, идентифицирующую это событие.
void translatePoint(int x, int y)
Перемещает координаты события в новое положение, прибавляя указанные смещения x (по горизонтали) и y (по вертикали).

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

consume, getMaskForButton, getModifiers, getModifiersEx, getModifiersExText, getWhen, isAltDown, isAltGraphDown, isConsumed, isControlDown, isMetaDown, isShiftDown
Модификатор и тип Метод Описание
void consume()
Потребляет это событие, чтобы источник, создавший его, не обработал его стандартным способом.
static int getMaskForButton(int button)
Метод для получения маски любой существующей кнопки мыши.
int getModifiers()
Устарело.
Рекомендуется вместо этого использовать расширенные клавиши-модификаторы и InputEvent.getModifiersEx()
int getModifiersEx()
Возвращает маску расширенных модификаторов для этого события.
static String getModifiersExText(int modifiers)
Возвращает строку с описанием расширенных клавиш-модификаторов и кнопок мыши, например «Shift», «Button1» или «Ctrl+Shift».
long getWhen()
Возвращает разницу в миллисекундах между временем возникновения этого события и полуночью 1 января 1970 года по UTC.
boolean isAltDown()
Возвращает сведения о том, нажата ли клавиша-модификатор Alt во время этого события.
boolean isAltGraphDown()
Возвращает сведения о том, нажата ли клавиша-модификатор AltGraph во время этого события.
boolean isConsumed()
Возвращает сведения о том, было ли это событие потреблено.
boolean isControlDown()
Возвращает сведения о том, нажата ли клавиша-модификатор Control во время этого события.
boolean isMetaDown()
Возвращает сведения о том, нажата ли клавиша-модификатор Meta во время этого события.
boolean isShiftDown()
Возвращает сведения о том, нажата ли клавиша-модификатор Shift во время этого события.

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

getComponent
Модификатор и тип Метод Описание
Component getComponent()
Возвращает источник события.

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

getID, setSource, toString
Модификатор и тип Метод Описание
int getID()
Возвращает тип события.
void setSource(Object newSource)
Перенаправляет событие к новому источнику.
String toString()
Возвращает строковое представление этого объекта.

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

getSource
Модификатор и тип Метод Описание
Object getSource()
Объект, на котором изначально произошло событие.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект другому объекту.
protected void finalize()
Устарело, подлежит удалению: этот элемент API может быть удален в будущей версии.
Финализация устарела и может быть удалена в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.

Подробное описание полей

MOUSE_FIRST

public static final int MOUSE_FIRST
Первый номер в диапазоне идентификаторов, используемых для событий мыши.
См. также:
  • Значения константных полей

MOUSE_LAST

public static final int MOUSE_LAST
Последний номер в диапазоне идентификаторов, используемых для событий мыши.
См. также:
  • Значения константных полей

MOUSE_CLICKED

public static final int MOUSE_CLICKED
Событие «щелчок мышью». Это MouseEvent возникает при нажатии и отпускании кнопки мыши.
См. также:
  • Значения константных полей

MOUSE_PRESSED

public static final int MOUSE_PRESSED
Событие «нажатие кнопки мыши». Это MouseEvent возникает при нажатии кнопки мыши.
См. также:
  • Значения константных полей

MOUSE_RELEASED

public static final int MOUSE_RELEASED
Событие «отпускание кнопки мыши». Это MouseEvent возникает при отпускании кнопки мыши.
См. также:
  • Значения константных полей

MOUSE_MOVED

public static final int MOUSE_MOVED
Событие «перемещение мыши». Это MouseEvent возникает при изменении положения мыши.
См. также:
  • Значения константных полей

MOUSE_ENTERED

public static final int MOUSE_ENTERED
Событие «вход указателя мыши». Это MouseEvent возникает, когда указатель мыши входит в незакрытую часть области компонента.
См. также:
  • Значения константных полей

MOUSE_EXITED

public static final int MOUSE_EXITED
Событие «выход указателя мыши». Это MouseEvent возникает, когда указатель мыши покидает незакрытую часть области компонента.
См. также:
  • Значения константных полей

MOUSE_DRAGGED

public static final int MOUSE_DRAGGED
Событие «перетаскивание мышью». Это MouseEvent возникает при изменении положения мыши во время нажатия кнопки мыши.
См. также:
  • Значения константных полей

MOUSE_WHEEL

public static final int MOUSE_WHEEL
Событие «колесо мыши». Это единственное MouseWheelEvent. Оно возникает, когда прокручивается колесо мыши.
Начиная с:
1.4
См. также:
  • Значения константных полей

NOBUTTON

public static final int NOBUTTON
Указывает на отсутствие кнопок мыши; используется методом getButton().
Начиная с:
1.4
См. также:
  • Значения константных полей

BUTTON1

public static final int BUTTON1
Указывает на кнопку мыши № 1; используется методом getButton().
Начиная с:
1.4
См. также:
  • Значения константных полей

BUTTON2

public static final int BUTTON2
Указывает на кнопку мыши № 2; используется методом getButton().
Начиная с:
1.4
См. также:
  • Значения константных полей

BUTTON3

public static final int BUTTON3
Указывает на кнопку мыши № 3; используется методом getButton().
Начиная с:
1.4
См. также:
  • Значения константных полей

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

MouseEvent

public MouseEvent(Component source, int id, long when, int modifiers, int x, int y, int clickCount, boolean popupTrigger, int button)
Создает объект MouseEvent с указанными исходным компонентом, типом, временем, модификаторами, координатами, числом щелчков, флагом popupTrigger и номером кнопки.

Создание недопустимого события (например, с использованием нескольких старых _MASK или несовпадающих значений модификаторов/кнопок) приводит к неопределенному поведению. Вызов вида MouseEvent(source, id, when, modifiers, x, y, clickCount, popupTrigger, button) ведет себя точно так же, как вызов MouseEvent(source, id, when, modifiers, x, y, xAbs, yAbs, clickCount, popupTrigger, button), где xAbs и yAbs определяются как положение источника на экране плюс относительные координаты x и y. Значения xAbs и yAbs равны нулю, если источник не отображается. Этот метод генерирует IllegalArgumentException, если source равен null.

Параметры:
source — компонент Component, инициировавший событие
id — целое число, указывающее тип события. Допустимые значения см. в описании класса MouseEvent
when — целое число типа long, указывающее время возникновения события. Не рекомендуется передавать отрицательное или нулевое значение
modifiers — маска модификаторов, описывающая клавиши-модификаторы и кнопки мыши (например, Shift, Ctrl, Alt и Meta), нажатые во время события. В качестве значения этого параметра разрешено использовать только расширенные модификаторы (описание расширенных модификаторов см. в классе InputEvent.getModifiersEx()). Не рекомендуется передавать отрицательный параметр. Нулевое значение означает, что модификаторы не передавались
x — горизонтальная координата x положения мыши. Допускается передавать отрицательные значения
y — вертикальная координата y положения мыши. Допускается передавать отрицательные значения
clickCount — число щелчков мыши, связанных с событием. Не рекомендуется передавать отрицательное значение
popupTrigger — логическое значение, равное true, если это событие вызывает всплывающее меню
button — целое число, указывающее, какая из кнопок мыши изменила свое состояние. К этому параметру применяются следующие правила:
  • Если поддержка дополнительных кнопок мыши disabled в Java, объекты MouseEvent разрешено создавать только со стандартными кнопками: NOBUTTON, BUTTON1, BUTTON2 и BUTTON3.
  • Если поддержка дополнительных кнопок мыши enabled в Java, объекты MouseEvent разрешено создавать со стандартными кнопками. Если поддержка дополнительных кнопок мыши enabled в Java, то помимо стандартных кнопок объекты MouseEvent можно создавать с кнопками из диапазона от 4 до MouseInfo.getNumberOfButtons(), если у мыши более трех кнопок.
Исключения:
IllegalArgumentException — если button меньше нуля
IllegalArgumentException — если source равен null
IllegalArgumentException — если button больше BUTTON3, а поддержка дополнительных кнопок мыши disabled в Java
IllegalArgumentException — если button больше значения current number of buttons, а поддержка дополнительных кнопок мыши enabled в Java
IllegalArgumentException — если передано недопустимое значение button
IllegalArgumentException — если source равен null
Начиная с:
1.4
См. также:
  • EventObject.getSource()
  • AWTEvent.getID()
  • InputEvent.getWhen()
  • InputEvent.getModifiers()
  • getX()
  • getY()
  • getClickCount()
  • isPopupTrigger()
  • getButton()

MouseEvent

public MouseEvent(Component source, int id, long when, int modifiers, int x, int y, int clickCount, boolean popupTrigger)
Создает объект MouseEvent с указанными исходным компонентом, типом, модификаторами, координатами, числом щелчков и флагом popupTrigger. Вызов вида MouseEvent(source, id, when, modifiers, x, y, clickCount, popupTrigger) ведет себя точно так же, как вызов MouseEvent(source, id, when, modifiers, x, y, xAbs, yAbs, clickCount, popupTrigger, MouseEvent.NOBUTTON), где xAbs и yAbs определяются как положение источника на экране плюс относительные координаты x и y. Значения xAbs и yAbs равны нулю, если источник не отображается. Этот метод генерирует IllegalArgumentException, если source равен null.
Параметры:
source — компонент Component, инициировавший событие
id — целое число, указывающее тип события. Допустимые значения см. в описании класса MouseEvent
when — целое число типа long, указывающее время возникновения события. Не рекомендуется передавать отрицательное или нулевое значение
modifiers — маска модификаторов, описывающая клавиши-модификаторы и кнопки мыши (например, Shift, Ctrl, Alt и Meta), нажатые во время события. В качестве значения этого параметра разрешено использовать только расширенные модификаторы (описание расширенных модификаторов см. в классе InputEvent.getModifiersEx()). Не рекомендуется передавать отрицательный параметр. Нулевое значение означает, что модификаторы не передавались
x — горизонтальная координата x положения мыши. Допускается передавать отрицательные значения
y — вертикальная координата y положения мыши. Допускается передавать отрицательные значения
clickCount — число щелчков мыши, связанных с событием. Не рекомендуется передавать отрицательное значение
popupTrigger — логическое значение, равное true, если это событие вызывает всплывающее меню
Исключения:
IllegalArgumentException — если source равен null
См. также:
  • EventObject.getSource()
  • AWTEvent.getID()
  • InputEvent.getWhen()
  • InputEvent.getModifiers()
  • getX()
  • getY()
  • getClickCount()
  • isPopupTrigger()

MouseEvent

public MouseEvent(Component source, int id, long when, int modifiers, int x, int y, int xAbs, int yAbs, int clickCount, boolean popupTrigger, int button)
Создает объект MouseEvent с указанными исходным компонентом, типом, временем, модификаторами, координатами, абсолютными координатами, числом щелчков, флагом popupTrigger и номером кнопки.

Создание недопустимого события (например, с использованием нескольких старых _MASK или несовпадающих значений модификаторов/кнопок) приводит к неопределенному поведению. Даже если конструктору переданы несогласованные значения относительных и абсолютных координат, экземпляр события мыши все равно создается, и исключение не генерируется. Этот метод генерирует IllegalArgumentException, если source равен null.

Параметры:
source — компонент Component, инициировавший событие
id — целое число, указывающее тип события. Допустимые значения см. в описании класса MouseEvent
when — целое число типа long, указывающее время возникновения события. Не рекомендуется передавать отрицательное или нулевое значение
modifiers — маска модификаторов, описывающая клавиши-модификаторы и кнопки мыши (например, Shift, Ctrl, Alt и Meta), нажатые во время события. В качестве значения этого параметра разрешено использовать только расширенные модификаторы (описание расширенных модификаторов см. в классе InputEvent.getModifiersEx()). Не рекомендуется передавать отрицательный параметр. Нулевое значение означает, что модификаторы не передавались
x — горизонтальная координата x положения мыши. Допускается передавать отрицательные значения
y — вертикальная координата y положения мыши. Допускается передавать отрицательные значения
xAbs — абсолютная горизонтальная координата x положения мыши. Допускается передавать отрицательные значения
yAbs — абсолютная вертикальная координата y положения мыши. Допускается передавать отрицательные значения
clickCount — число щелчков мыши, связанных с событием. Не рекомендуется передавать отрицательное значение
popupTrigger — логическое значение, равное true, если это событие вызывает всплывающее меню
button — целое число, указывающее, какая из кнопок мыши изменила свое состояние. К этому параметру применяются следующие правила:
  • Если поддержка дополнительных кнопок мыши disabled в Java, объекты MouseEvent разрешено создавать только со стандартными кнопками: NOBUTTON, BUTTON1, BUTTON2 и BUTTON3.
  • Если поддержка дополнительных кнопок мыши enabled в Java, объекты MouseEvent разрешено создавать со стандартными кнопками. Если поддержка дополнительных кнопок мыши enabled в Java, то помимо стандартных кнопок объекты MouseEvent можно создавать с кнопками из диапазона от 4 до MouseInfo.getNumberOfButtons(), если у мыши более трех кнопок.
Исключения:
IllegalArgumentException — если button меньше нуля
IllegalArgumentException — если source равен null
IllegalArgumentException — если button больше BUTTON3, а поддержка дополнительных кнопок мыши disabled в Java
IllegalArgumentException — если button больше значения current number of buttons, а поддержка дополнительных кнопок мыши enabled в Java
IllegalArgumentException — если передано недопустимое значение button
IllegalArgumentException — если source равен null
Начиная с:
1.6
См. также:
  • EventObject.getSource()
  • AWTEvent.getID()
  • InputEvent.getWhen()
  • InputEvent.getModifiers()
  • getX()
  • getY()
  • getXOnScreen()
  • getYOnScreen()
  • getClickCount()
  • isPopupTrigger()
  • getButton()
  • Toolkit.areExtraMouseButtonsEnabled()
  • MouseInfo.getNumberOfButtons()
  • InputEvent.getMaskForButton(int)

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

getLocationOnScreen

public Point getLocationOnScreen()
Возвращает абсолютные координаты x и y события. В среде с виртуальным устройством и несколькими экранами, где область рабочего стола может охватывать несколько физических экранов, эти координаты задаются относительно виртуальной системы координат. В противном случае координаты задаются относительно системы координат, связанной с GraphicsConfiguration компонента.
Возвращает:
объект Point, содержащий абсолютные координаты x и y.
Начиная с:
1.6
См. также:
  • GraphicsConfiguration

getXOnScreen

public int getXOnScreen()
Возвращает абсолютную горизонтальную координату x события. В среде с виртуальным устройством и несколькими экранами, где область рабочего стола может охватывать несколько физических экранов, эта координата задается относительно виртуальной системы координат. В противном случае координата задается относительно системы координат, связанной с GraphicsConfiguration компонента.
Возвращает:
x — целое число, указывающее абсолютную горизонтальную координату.
Начиная с:
1.6
См. также:
  • GraphicsConfiguration

getYOnScreen

public int getYOnScreen()
Возвращает абсолютную вертикальную координату y события. В среде с виртуальным устройством и несколькими экранами, где область рабочего стола может охватывать несколько физических экранов, эта координата задается относительно виртуальной системы координат. В противном случае координата задается относительно системы координат, связанной с GraphicsConfiguration компонента.
Возвращает:
y — целое число, указывающее абсолютную вертикальную координату.
Начиная с:
1.6
См. также:
  • GraphicsConfiguration

getX

public int getX()
Возвращает горизонтальную координату x события относительно исходного компонента.
Возвращает:
x — целое число, указывающее горизонтальную координату относительно компонента

getY

public int getY()
Возвращает вертикальную координату y события относительно исходного компонента.
Возвращает:
y — целое число, указывающее вертикальную координату относительно компонента

getPoint

public Point getPoint()
Возвращает координаты x и y события относительно исходного компонента.
Возвращает:
объект Point, содержащий координаты x и y относительно исходного компонента

translatePoint

public void translatePoint(int x, int y)
Перемещает координаты события в новое положение, добавляя указанные смещения x (по горизонтали) и y (по вертикали).
Параметры:
x — горизонтальное значение x, добавляемое к текущей координате x
y — вертикальное значение y, добавляемое к текущей координате y

getClickCount

public int getClickCount()
Возвращает число щелчков мыши, связанных с этим событием.
Возвращает:
целочисленное значение, указывающее число щелчков

getButton

public int getButton()
Возвращает номер кнопки мыши, состояние которой изменилось, если такая есть. Возвращаемое значение находится в диапазоне от 0 до значения MouseInfo.getNumberOfButtons(). Возвращаемое значение включает как минимум следующие константы:
  • NOBUTTON
  • BUTTON1
  • BUTTON2
  • BUTTON3
В приложении можно использовать эти константы для сравнения с возвращаемым номером кнопки. Например,
if (anEvent.getButton() == MouseEvent.BUTTON1) {
В частности, для мыши с одной, двумя или тремя кнопками этот метод может возвращать следующие значения:
  • 0 (NOBUTTON)
  • 1 (BUTTON1)
  • 2 (BUTTON2)
  • 3 (BUTTON3)
Для номеров кнопок, превышающих BUTTON3, нет идентификаторов констант. Поэтому, если установлена мышь с пятью кнопками, этот метод может возвращать следующие значения:
  • 0 (NOBUTTON)
  • 1 (BUTTON1)
  • 2 (BUTTON2)
  • 3 (BUTTON3)
  • 4
  • 5

Примечание. Если поддержка дополнительных кнопок мыши disabled в Java, подсистема событий AWT не генерирует события мыши для дополнительных кнопок. Поэтому данный метод не должен возвращать ничего, кроме NOBUTTON, BUTTON1, BUTTON2, BUTTON3.

Возвращает:
одно из значений от 0 до MouseInfo.getNumberOfButtons(), если поддержка дополнительных кнопок мыши enabled в Java. Этот диапазон включает NOBUTTON, BUTTON1, BUTTON2, BUTTON3;
NOBUTTON, BUTTON1, BUTTON2 или BUTTON3, если поддержка дополнительных кнопок мыши disabled в Java
Начиная с:
1.4
См. также:
  • Toolkit.areExtraMouseButtonsEnabled()
  • MouseInfo.getNumberOfButtons()
  • MouseEvent(Component, int, long, int, int, int, int, int, int, boolean, int)
  • InputEvent.getMaskForButton(int)

isPopupTrigger

public boolean isPopupTrigger()
Возвращает признак того, является ли это событие мыши событием вызова всплывающего меню на данной платформе.

Примечание: В разных системах всплывающие меню вызываются по-разному. Поэтому для обеспечения корректной работы на разных платформах следует проверять isPopupTrigger как при mousePressed, так и при mouseReleased.

Возвращает:
логическое значение true, если это событие вызывает всплывающее меню на данной платформе

getMouseModifiersText

public static String getMouseModifiersText(int modifiers)
Возвращает экземпляр String с описанием клавиш-модификаторов и кнопок мыши, нажатых во время события, например «Shift» или «Ctrl+Shift». Эти строки можно локализовать, изменив файл awt.properties.

Обратите внимание, что InputEvent.ALT_MASK и InputEvent.BUTTON2_MASK имеют одинаковые значения, поэтому для обоих модификаторов возвращается строка «Alt». Аналогично, InputEvent.META_MASK и InputEvent.BUTTON3_MASK имеют одинаковые значения, поэтому для обоих модификаторов возвращается строка «Meta».

Обратите внимание, что передача отрицательного параметра некорректна и приведет к возврату неопределенной строки. Нулевой параметр означает, что модификаторы не передавались, и приведет к возврату пустой строки.

Параметры:
modifiers — маска модификаторов, описывающая клавиши-модификаторы и кнопки мыши, нажатые во время события
Возвращает:
строка с текстовым описанием сочетания клавиш-модификаторов и кнопок мыши, нажатых во время события
Начиная с:
1.4
См. также:
  • InputEvent.getModifiersExText(int)

paramString

public String paramString()
Возвращает строку параметров, идентифицирующую это событие. Этот метод полезен для ведения журнала событий и отладки.
Переопределяет:
paramString в классе ComponentEvent
Возвращает:
строку, идентифицирующую событие и его атрибуты

Сообщить об ошибке или предложить улучшение
Для получения дополнительных справочных материалов по API и документации для разработчиков см. Документацию Java SE, которая содержит более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, 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.

Spec-Zone.ru

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