Spec-Zone.ru › OpenJDK 27

Класс Robot

java.lang.Object
java.awt.Robot
public class Robot extends Object
Этот класс используется для генерации системных событий ввода на уровне ОС с целью автоматизации тестирования, создания демонстраций с автоматическим выполнением и использования в других приложениях, которым требуется управление мышью и клавиатурой. Основное назначение Robot — упростить автоматизированное тестирование реализаций платформы Java.

Использование этого класса для генерации событий ввода отличается от отправки событий в очередь событий AWT или компонентам AWT тем, что события генерируются в системной очереди ввода платформы. Например, Robot.mouseMove фактически переместит курсор мыши, а не просто сгенерирует события перемещения мыши.

Примечание об API:
Когда включено autoWaitForIdle(), методы, связанные с мышью и клавиатурой, нельзя вызывать в AWT EDT. Это связано с тем, что при включенном autoWaitForIdle() методы мыши и клавиатуры неявно вызывают waitForIdle(), который выбрасывает IllegalThreadStateException при вызове в AWT EDT. Кроме того, операции захвата экрана могут занимать много времени, а delay(long ms) явно вносит задержку, поэтому их также не следует вызывать в EDT. В совокупности это означает, что методы этого класса по возможности не следует вызывать в EDT.

Обратите внимание, что для доступа к низкоуровневому управлению вводом на некоторых платформах требуются специальные привилегии или расширения. Если текущая конфигурация платформы не допускает управление вводом, при попытке создать объекты Robot будет выброшено AWTException. Например, системы X Window выбрасывают это исключение, если сервер X не поддерживает (или не включает) стандартное расширение XTEST 2.2.

Приложения, использующие Robot не для самотестирования, должны корректно обрабатывать такие ошибки.

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

  • запрет доступа к содержимому любой части рабочего стола или окна на рабочем столе, которым не владеет запущенное приложение;
  • трактовка элементов оформления окон как содержимого, которым приложение не владеет;
  • игнорирование или ограничение отдельных запросов на управление окнами;
  • игнорирование или ограничение отдельных запросов на генерацию Robot синтезированных событий, связанных с клавиатурой, мышью и т. д.;
  • требование отдельных или глобальных разрешений для любого доступа к содержимому окон, включая содержимое, принадлежащее приложению, или даже для ограниченной генерации событий.
Спецификация API Robot требует предоставления необходимых разрешений для полноценной работы. Если они не предоставлены, функциональность API будет ограничена, как описано здесь. В соответствующей документации конкретных методов API могут быть указаны более точные ограничения и требования. В зависимости от политик среды рабочего стола указанные выше разрешения могут:
  • требоваться каждый раз;
  • сохраняться в течение всего времени работы приложения;
  • сохраняться между несколькими сеансами пользователя на рабочем столе;
  • быть детализированными;
  • быть связанными с конкретным двоичным файлом приложения или классом двоичных приложений.
Если такие разрешения необходимо предоставлять интерактивно, это может помешать нормальной работе приложения до их предоставления. Если в разрешении отказано, его невозможно получить или сохранить, функциональность этого класса будет ограничена, а вместе с ней — и все зависящие от него части работы приложения.
Начиная с:
1.3

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

Модификатор и тип Поле Описание
static final int DEFAULT_DELAY
Задержка по умолчанию в миллисекундах для glide, type и click мышью.
static final int DEFAULT_STEP_LENGTH
Длина шага по умолчанию в пикселях для glide мышью.

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

Конструктор Описание
Robot()
Создает объект Robot в системе координат основного экрана.
Robot(GraphicsDevice screen)
Создает объект Robot для указанного устройства отображения.

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

Модификатор и тип Метод Описание
void click()
Вспомогательный метод, который нажимает кнопку мыши 1.
void click(int buttons)
Вспомогательный метод, имитирующий нажатие кнопки мыши путем вызова mousePress, mouseRelease и waitForIdle.
MultiResolutionImage createMultiResolutionScreenCapture(Rectangle screenRect)
Создает изображение, содержащее пиксели, считанные с экрана.
BufferedImage createScreenCapture(Rectangle screenRect)
Создает изображение, содержащее пиксели, считанные с экрана.
void delay(int ms)
Приостанавливает выполнение на указанное время.
int getAutoDelay()
Возвращает количество миллисекунд, в течение которых этот Robot приостанавливает выполнение после генерации события.
Color getPixelColor(int x, int y)
Возвращает цвет пикселя в заданных координатах экрана.
void glide(int x, int y)
Вспомогательный метод, который перемещает мышь несколькими шагами из текущего положения к заданным координатам назначения.
void glide(int srcX, int srcY, int dstX, int dstY)
Вспомогательный метод, который перемещает мышь несколькими шагами из исходных координат к координатам назначения.
void glide(int srcX, int srcY, int destX, int destY, int stepLength, int stepDelay)
Вспомогательный метод, который перемещает мышь несколькими шагами из исходной точки в точку назначения с заданными stepLength и stepDelay.
boolean isAutoWaitForIdle()
Возвращает значение, указывающее, вызывает ли этот Robot автоматически waitForIdle после генерации события.
void keyPress(int keycode)
Нажимает указанную клавишу.
void keyRelease(int keycode)
Отпускает указанную клавишу.
void mouseMove(int x, int y)
Перемещает указатель мыши в заданные координаты экрана.
void mousePress(int buttons)
Нажимает одну или несколько кнопок мыши.
void mouseRelease(int buttons)
Отпускает одну или несколько кнопок мыши.
void mouseWheel(int wheelAmt)
Прокручивает колесо мыши на мышах, оснащенных колесом прокрутки.
void setAutoDelay(int ms)
Задает количество миллисекунд, в течение которых этот Robot приостанавливает выполнение после генерации события.
void setAutoWaitForIdle(boolean isOn)
Задает, должен ли этот Robot автоматически вызывать waitForIdle после генерации события.
String toString()
Возвращает строковое представление этого Robot.
void type(char c)
Вспомогательный метод, имитирующий ввод символа путем вызова keyPress и keyRelease.
void type(int keycode)
Вспомогательный метод, имитирующий нажатие клавиши путем вызова keyPress и keyRelease.
void waitForIdle()
Ожидает обработки всех событий, находящихся в данный момент в очереди событий.
void waitForIdle(int delayValue)
Вспомогательный метод, который вызывает waitForIdle, а затем ожидает дополнительно указанное время в delayValue миллисекундах.

Методы, объявленные в классе 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()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка реального времени.

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

DEFAULT_DELAY

public static final int DEFAULT_DELAY
Задержка по умолчанию в миллисекундах для glide мыши, type и click.
См. также:
  • Значения константных полей

DEFAULT_STEP_LENGTH

public static final int DEFAULT_STEP_LENGTH
Длина шага в пикселях по умолчанию для glide мыши.
См. также:
  • Значения константных полей

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

Robot

public Robot() throws AWTException
Создает объект Robot в системе координат основного экрана.
Выбрасывает:
AWTException — если конфигурация платформы не позволяет управлять вводом на низком уровне. Это исключение всегда выбрасывается, если GraphicsEnvironment.isHeadless() возвращает true
См. также:
  • GraphicsEnvironment.isHeadless()

Robot

public Robot(GraphicsDevice screen) throws AWTException
Создает объект Robot для указанного устройства отображения. Координаты, переданные в вызовы методов Robot, таких как mouseMove, getPixelColor и createScreenCapture, будут интерпретироваться в той же системе координат, что и указанное устройство отображения. Обратите внимание, что в зависимости от конфигурации платформы несколько экранов могут:
  • использовать одну и ту же систему координат, образуя объединенный виртуальный экран
  • использовать разные системы координат, действуя как независимые экраны

Если конфигурация устройств отображения изменится таким образом, что затронет систему координат, поведение существующих объектов Robot не определено.

Параметры:
screen — устройство отображения GraphicsDevice, задающее систему координат, в которой будет работать Robot.
Выбрасывает:
AWTException — если конфигурация платформы не позволяет управлять вводом на низком уровне. Это исключение всегда выбрасывается, если GraphicsEnvironment.isHeadless() возвращает true.
IllegalArgumentException — если screen не является устройством отображения GraphicsDevice.
См. также:
  • GraphicsEnvironment.isHeadless()
  • GraphicsDevice

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

mouseMove

public void mouseMove(int x, int y)
Перемещает указатель мыши в указанные экранные координаты.

На некоторых платформах указатель мыши может визуально не переместиться, однако последующие вызовы mousePress и mouseRelease могут быть доставлены в правильное место

Параметры:
x — позиция X
y — позиция Y
Выбрасывает:
IllegalThreadStateException — если вызван в потоке диспетчеризации событий AWT и isAutoWaitForIdle вернул бы true

mousePress

public void mousePress(int buttons)
Нажимает одну или несколько кнопок мыши. Кнопки мыши следует отпустить с помощью метода mouseRelease(int).
Параметры:
buttons — маска кнопок; комбинация одной или нескольких масок кнопок мыши.

В качестве параметра buttons разрешено использовать только комбинацию допустимых значений. Допустимая комбинация состоит из InputEvent.BUTTON1_DOWN_MASK, InputEvent.BUTTON2_DOWN_MASK, InputEvent.BUTTON3_DOWN_MASK и значений, возвращаемых методом InputEvent.getMaskForButton(button). Допустимая комбинация также зависит от значения Toolkit.areExtraMouseButtonsEnabled() следующим образом:

  • Если поддержка дополнительных кнопок мыши disabled в Java, разрешено использовать только следующие стандартные маски кнопок: InputEvent.BUTTON1_DOWN_MASK, InputEvent.BUTTON2_DOWN_MASK, InputEvent.BUTTON3_DOWN_MASK.
  • Если поддержка дополнительных кнопок мыши enabled в Java, разрешено использовать стандартные маски кнопок и маски существующих дополнительных кнопок мыши, если у мыши больше трех кнопок. Таким образом, разрешено использовать маски кнопок, соответствующие кнопкам в диапазоне от 1 до MouseInfo.getNumberOfButtons().
    Рекомендуется использовать метод InputEvent.getMaskForButton(button), чтобы получить маску любой кнопки мыши по ее номеру.

Также принимаются следующие стандартные маски кнопок:

  • InputEvent.BUTTON1_MASK
  • InputEvent.BUTTON2_MASK
  • InputEvent.BUTTON3_MASK
Однако вместо них рекомендуется использовать InputEvent.BUTTON1_DOWN_MASK, InputEvent.BUTTON2_DOWN_MASK, InputEvent.BUTTON3_DOWN_MASK. Следует использовать либо расширенные значения _DOWN_MASK, либо старые значения _MASK, но не смешивать эти две модели.
Выбрасывает:
IllegalArgumentException — если маска buttons содержит маску дополнительной кнопки мыши, а поддержка дополнительных кнопок мыши disabled в Java
IllegalArgumentException — если маска buttons содержит маску дополнительной кнопки мыши, которой нет у мыши, а поддержка дополнительных кнопок мыши enabled в Java
IllegalThreadStateException — если вызван в потоке диспетчеризации событий AWT и isAutoWaitForIdle вернул бы true
См. также:
  • mouseRelease(int)
  • InputEvent.getMaskForButton(int)
  • Toolkit.areExtraMouseButtonsEnabled()
  • MouseInfo.getNumberOfButtons()
  • MouseEvent

mouseRelease

public void mouseRelease(int buttons)
Отпускает одну или несколько кнопок мыши.
Параметры:
buttons — маска кнопок; комбинация одной или нескольких масок кнопок мыши.

В качестве параметра buttons разрешено использовать только комбинацию допустимых значений. Допустимая комбинация состоит из InputEvent.BUTTON1_DOWN_MASK, InputEvent.BUTTON2_DOWN_MASK, InputEvent.BUTTON3_DOWN_MASK и значений, возвращаемых методом InputEvent.getMaskForButton(button). Допустимая комбинация также зависит от значения Toolkit.areExtraMouseButtonsEnabled() следующим образом:

  • Если поддержка дополнительных кнопок мыши disabled в Java, разрешено использовать только следующие стандартные маски кнопок: InputEvent.BUTTON1_DOWN_MASK, InputEvent.BUTTON2_DOWN_MASK, InputEvent.BUTTON3_DOWN_MASK.
  • Если поддержка дополнительных кнопок мыши enabled в Java, разрешено использовать стандартные маски кнопок и маски существующих дополнительных кнопок мыши, если у мыши больше трех кнопок. Таким образом, разрешено использовать маски кнопок, соответствующие кнопкам в диапазоне от 1 до MouseInfo.getNumberOfButtons().
    Рекомендуется использовать метод InputEvent.getMaskForButton(button), чтобы получить маску любой кнопки мыши по ее номеру.

Также принимаются следующие стандартные маски кнопок:

  • InputEvent.BUTTON1_MASK
  • InputEvent.BUTTON2_MASK
  • InputEvent.BUTTON3_MASK
Однако вместо них рекомендуется использовать InputEvent.BUTTON1_DOWN_MASK, InputEvent.BUTTON2_DOWN_MASK, InputEvent.BUTTON3_DOWN_MASK. Следует использовать либо расширенные значения _DOWN_MASK, либо старые значения _MASK, но не смешивать эти две модели.
Выбрасывает:
IllegalArgumentException — если маска buttons содержит маску дополнительной кнопки мыши, а поддержка дополнительных кнопок мыши disabled в Java
IllegalArgumentException — если маска buttons содержит маску дополнительной кнопки мыши, которой нет у мыши, а поддержка дополнительных кнопок мыши enabled в Java
IllegalThreadStateException — если вызван в потоке диспетчеризации событий AWT и isAutoWaitForIdle вернул бы true
См. также:
  • mousePress(int)
  • InputEvent.getMaskForButton(int)
  • Toolkit.areExtraMouseButtonsEnabled()
  • MouseInfo.getNumberOfButtons()
  • MouseEvent

mouseWheel

public void mouseWheel(int wheelAmt)
Прокручивает колесо мыши на мышах, оснащенных колесом прокрутки.
Параметры:
wheelAmt — количество «щелчков» прокрутки колеса мыши. Отрицательные значения указывают на движение вверх/от пользователя, положительные — на движение вниз/к пользователю.
Выбрасывает:
IllegalThreadStateException — если вызван в потоке диспетчеризации событий AWT и isAutoWaitForIdle вернул бы true
Начиная с:
1.4

keyPress

public void keyPress(int keycode)
Нажимает указанную клавишу. Клавишу следует отпустить с помощью метода keyRelease.

Коды клавиш, которым соответствуют несколько физических клавиш (например, KeyEvent.VK_SHIFT может обозначать левую или правую клавишу Shift), будут сопоставлены с левой клавишей.

Параметры:
keycode — клавиша для нажатия (например, KeyEvent.VK_A)
Выбрасывает:
IllegalArgumentException — если keycode не является допустимой клавишей
IllegalThreadStateException — если вызван в потоке диспетчеризации событий AWT и isAutoWaitForIdle вернул бы true
См. также:
  • keyRelease(int)
  • KeyEvent

keyRelease

public void keyRelease(int keycode)
Отпускает указанную клавишу.

Коды клавиш, которым соответствуют несколько физических клавиш (например, KeyEvent.VK_SHIFT может обозначать левую или правую клавишу Shift), будут сопоставлены с левой клавишей.

Параметры:
keycode — клавиша для отпускания (например, KeyEvent.VK_A)
Выбрасывает:
IllegalArgumentException — если keycode не является допустимой клавишей
IllegalThreadStateException — если вызван в потоке диспетчеризации событий AWT и isAutoWaitForIdle вернул бы true
См. также:
  • keyPress(int)
  • KeyEvent

getPixelColor

public Color getPixelColor(int x, int y)
Возвращает цвет пикселя в указанных экранных координатах.

Если среда рабочего стола требует предоставления разрешений для захвата содержимого экрана, но необходимые разрешения не предоставлены, может быть выброшено исключение SecurityException либо содержимое возвращаемого Color не определено.

Примечание к API:
Рекомендуется не вызывать этот метод в потоке диспетчеризации событий AWT, поскольку захват экрана может занять много времени, особенно если требуется получить разрешения и это предполагает взаимодействие с пользователем.
Параметры:
x — позиция X пикселя
y — позиция Y пикселя
Возвращает:
Цвет пикселя
Выбрасывает:
SecurityException — если среда рабочего стола запрещает доступ к экрану

createScreenCapture

public BufferedImage createScreenCapture(Rectangle screenRect)
Создает изображение, содержащее считанные с экрана пиксели.

Если среда рабочего стола требует предоставления разрешений для захвата содержимого экрана, но необходимые разрешения не предоставлены, может быть выброшено исключение SecurityException либо содержимое возвращаемого BufferedImage не определено.

Примечание к API:
Рекомендуется не вызывать этот метод в потоке диспетчеризации событий AWT, поскольку захват экрана может занять много времени, особенно если требуется получить разрешения и это предполагает взаимодействие с пользователем.
Параметры:
screenRect — прямоугольник для захвата в экранных координатах
Возвращает:
Захваченное изображение
Выбрасывает:
IllegalArgumentException — если ширина и высота screenRect не больше нуля
SecurityException — если среда рабочего стола запрещает доступ к экрану

createMultiResolutionScreenCapture

public MultiResolutionImage createMultiResolutionScreenCapture(Rectangle screenRect)
Создает изображение, содержащее считанные с экрана пиксели. Этот метод можно использовать, если между пользовательским пространством и пространством экрана (устройства) выполняется масштабирование. Обычно это означает, что дисплей является экраном высокого разрешения, хотя строго говоря, речь идет о любом случае, когда выполняется такое преобразование. Возвращает MultiResolutionImage.

Для дисплея без масштабирования MultiResolutionImage будет иметь один вариант изображения:

  • Базовое изображение заданного пользователем размера.

Для дисплея высокого разрешения, где выполняется масштабирование, MultiResolutionImage будет иметь два варианта изображения:

  • Базовое изображение заданного пользователем размера. Оно масштабируется с экрана.
  • Изображение с исходным разрешением устройства, в пикселях размера устройства.

Пример:

     Image nativeResImage;
     MultiResolutionImage mrImage = robot.createMultiResolutionScreenCapture(frame.getBounds());
     List<Image> resolutionVariants = mrImage.getResolutionVariants();
     if (resolutionVariants.size() > 1) {
         nativeResImage = resolutionVariants.get(1);
     } else {
         nativeResImage = resolutionVariants.get(0);
     }
Примечание к API:
Рекомендуется не вызывать этот метод в потоке диспетчеризации событий AWT, поскольку захват экрана может занять много времени, особенно если требуется получить разрешения и это предполагает взаимодействие с пользователем.
Параметры:
screenRect — прямоугольник для захвата в экранных координатах
Возвращает:
Захваченное изображение
Выбрасывает:
IllegalArgumentException — если ширина и высота screenRect не больше нуля
SecurityException — если среда рабочего стола запрещает доступ к экрану
Начиная с:
9

isAutoWaitForIdle

public boolean isAutoWaitForIdle()
Возвращает, вызывает ли этот Robot автоматически waitForIdle после генерации события.
Возвращает:
Вызывается ли автоматически waitForIdle

setAutoWaitForIdle

public void setAutoWaitForIdle(boolean isOn)
Устанавливает, должен ли этот Robot автоматически вызывать waitForIdle после генерации события.
Примечание к API:
Если установить значение true, нельзя будет вызывать события управления мышью и клавиатурой в потоке диспетчеризации событий AWT
Параметры:
isOn — следует ли автоматически вызывать waitForIdle

getAutoDelay

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

setAutoDelay

public void setAutoDelay(int ms)
Устанавливает количество миллисекунд, в течение которых этот Robot приостанавливает выполнение после генерации события.
Параметры:
ms — длительность задержки в миллисекундах
Выбрасывает:
IllegalArgumentException — если ms не находится в диапазоне от 0 до 60 000 миллисекунд включительно

delay

public void delay(int ms)
Приостанавливает выполнение на указанное время.

Если вызывающий поток прерывается во время ожидания, метод немедленно возвращает управление с установленным статусом прерывания. Если статус прерывания уже установлен, метод немедленно возвращает управление с установленным статусом прерывания.

Примечание к API:
Рекомендуется не вызывать этот метод в потоке диспетчеризации событий AWT, поскольку задержка может быть продолжительной.
Параметры:
ms — время ожидания в миллисекундах
Выбрасывает:
IllegalArgumentException — если ms не находится в диапазоне от 0 до 60,000 миллисекунд включительно

waitForIdle

public void waitForIdle()
Ожидает обработки всех событий, находящихся в данный момент в очереди событий.
Выбрасывает:
IllegalThreadStateException — если вызван в потоке диспетчеризации событий AWT

toString

public String toString()
Возвращает строковое представление этого Robot.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление.

click

public void click(int buttons)
Вспомогательный метод, имитирующий щелчок кнопкой мыши путем вызова mousePress, mouseRelease и waitForIdle. Вызывает waitForIdle с задержкой по умолчанию 20 миллисекунд после вызовов mousePress и mouseRelease. Подробные сведения о допустимых входных данных см. в описании mousePress(int).
Параметры:
buttons — маска кнопок; комбинация одной или нескольких масок кнопок мыши.
Выбрасывает:
IllegalArgumentException — если маска buttons содержит маску дополнительной кнопки мыши, а поддержка дополнительных кнопок мыши отключена в Java
IllegalArgumentException — если маска buttons содержит маску дополнительной кнопки мыши, которой нет у мыши, а поддержка дополнительных кнопок мыши включена в Java
IllegalThreadStateException — если вызван в потоке диспетчеризации событий AWT
Начиная с:
26
См. также:
  • DEFAULT_DELAY
  • mousePress(int)
  • mouseRelease(int)
  • InputEvent.getMaskForButton(int)
  • Toolkit.areExtraMouseButtonsEnabled()
  • MouseEvent

click

public void click()
Вспомогательный метод, выполняющий щелчок кнопкой мыши 1.
Выбрасывает:
IllegalThreadStateException — если вызван в потоке диспетчеризации событий AWT
Начиная с:
26
См. также:
  • click(int)

waitForIdle

public void waitForIdle(int delayValue)
Вспомогательный метод, вызывающий waitForIdle, а затем ожидающий дополнительное указанное время delayValue в миллисекундах.
Параметры:
delayValue — дополнительная длительность ожидания в миллисекундах до завершения синхронизации потоков
Выбрасывает:
IllegalThreadStateException — если вызван в потоке диспетчеризации событий AWT
IllegalArgumentException — если delayValue не находится в диапазоне от 0 до 60,000 миллисекунд включительно
Начиная с:
26

glide

public void glide(int x, int y)
Вспомогательный метод, перемещающий мышь от ее текущего положения к конечным координатам за несколько шагов.
Требования к реализации:
Вызывает mouseMove с длиной шага 2 и задержкой между шагами 20.
Параметры:
x — координата X конечной точки
y — координата Y конечной точки
Выбрасывает:
IllegalThreadStateException — если вызван в потоке диспетчеризации событий AWT и isAutoWaitForIdle вернул бы true
Начиная с:
26
См. также:
  • DEFAULT_STEP_LENGTH
  • DEFAULT_DELAY
  • glide(int, int, int, int, int, int)

glide

public void glide(int srcX, int srcY, int dstX, int dstY)
Вспомогательный метод, перемещающий мышь от исходных координат к конечным за несколько шагов.
Требования к реализации:
Вызывает mouseMove с длиной шага 2 и задержкой между шагами 20.
Параметры:
srcX — координата X исходной точки
srcY — координата Y исходной точки
dstX — координата X конечной точки
dstY — координата Y конечной точки
Выбрасывает:
IllegalThreadStateException — если вызван в потоке диспетчеризации событий AWT и isAutoWaitForIdle вернул бы true
Начиная с:
26
См. также:
  • DEFAULT_STEP_LENGTH
  • DEFAULT_DELAY
  • glide(int, int, int, int, int, int)

glide

public void glide(int srcX, int srcY, int destX, int destY, int stepLength, int stepDelay)
Вспомогательный метод, перемещающий мышь от исходной точки к конечной за несколько шагов с заданными значениями stepLength и stepDelay.
Параметры:
srcX — координата X исходной точки
srcY — координата Y исходной точки
destX — координата X конечной точки
destY — координата Y конечной точки
stepLength — предпочтительная длина одного шага в пикселях
stepDelay — задержка между шагами в миллисекундах
Выбрасывает:
IllegalArgumentException — если stepLength не больше нуля
IllegalArgumentException — если stepDelay не находится в диапазоне от 0 до 60,000 миллисекунд включительно
IllegalThreadStateException — если вызван в потоке диспетчеризации событий AWT и isAutoWaitForIdle вернул бы true
Начиная с:
26
См. также:
  • mouseMove(int, int)
  • delay(int)

type

public void type(int keycode)
Вспомогательный метод, имитирующий ввод клавиши путем вызова keyPress и keyRelease. Вызывает waitForIdle с задержкой 20 миллисекунд после вызовов keyPress и keyRelease.

Коды клавиш, которым соответствуют несколько физических клавиш (например, KeyEvent.VK_SHIFT может обозначать левую или правую клавишу Shift), будут сопоставлены с левой клавишей.

Параметры:
keycode — клавиша для ввода (например, KeyEvent.VK_A)
Выбрасывает:
IllegalArgumentException — если keycode не является допустимой клавишей
IllegalThreadStateException — если вызван в потоке диспетчеризации событий AWT
Начиная с:
26
См. также:
  • DEFAULT_DELAY
  • keyPress(int)
  • keyRelease(int)
  • KeyEvent

type

public void type(char c)
Вспомогательный метод, имитирующий ввод символа путем вызова keyPress и keyRelease. Получает ExtendedKeyCode для символа и вызывает type(int keycode).
Параметры:
c — вводимый символ (например, 'a')
Выбрасывает:
IllegalArgumentException — если keycode не является допустимой клавишей
IllegalThreadStateException — если вызван в потоке диспетчеризации событий AWT
Начиная с:
26
См. также:
  • type(int)
  • keyPress(int)
  • keyRelease(int)
  • KeyEvent

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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