Spec-Zone.ru › OpenJDK 21

Класс DragSource

java.lang.Object
java.awt.dnd.DragSource
Все реализованные интерфейсы:
Serializable
public class DragSource extends Object implements Serializable
Сущность, ответственная за инициирование операции перетаскивания и сброса, может быть использована в различных сценариях:
  • 1 экземпляр по умолчанию на JVM на протяжении всего жизненного цикла JVM.
  • 1 экземпляр на каждый класс потенциального объекта-инициатора перетаскивания (например, TextField). [зависит от реализации]
  • 1 на каждый экземпляр конкретного Component, или прикладного объекта, связанного с экземпляром Component в графическом интерфейсе. [зависит от реализации]
  • Любое другое произвольное ассоциирование. [зависит от реализации]
После получения DragSource, также необходимо получить DragGestureRecognizer, чтобы связать DragSource с конкретным Component.

Первоначальная интерпретация жеста пользователя и последующее начало операции перетаскивания — ответственность реализующего Component, обычно реализуемого DragGestureRecognizer.

При возникновении жеста перетаскивания вызывается метод startDrag() DragSource, чтобы обработать навигационные жесты пользователя и передать уведомления протокола перетаскивания и сброса. DragSource допускает только одну текущую операцию перетаскивания и сброса и отклоняет любые дальнейшие запросы startDrag(), выбрасывая IllegalDnDOperationException, пока текущая операция не будет завершена.

Метод startDrag() вызывает метод createDragSourceContext(), чтобы создать соответствующий DragSourceContext и связать DragSourceContextPeer с ним.

Если система перетаскивания и сброса по какой-либо причине не может инициировать операцию перетаскивания, метод startDrag() выбрасывает java.awt.dnd.InvalidDnDOperationException, чтобы сигнализировать об этом условии. Обычно это исключение выбрасывается, когда системный уровень платформы не находится в состоянии инициировать перетаскивание или указанные параметры недействительны.

Обратите внимание, что набор операций, предоставляемых источником в начале операции перетаскивания, может не измениться до завершения операции. Операция(и) постоянна(ы) на протяжении всей операции относительно DragSource.

С:
1.2
См. также:
  • Сериализованная форма

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

Модификатор и тип Поле Описание
static final Cursor DefaultCopyDrop
По умолчанию Cursor для операции копирования, указывающее, что сброс разрешен в данный момент.
static final Cursor DefaultCopyNoDrop
По умолчанию Cursor для операции копирования, указывающее, что сброс запрещен в данный момент.
static final Cursor DefaultLinkDrop
По умолчанию Cursor для операции ссылки, указывающее, что сброс разрешен в данный момент.
static final Cursor DefaultLinkNoDrop
По умолчанию Cursor для операции ссылки, указывающее, что сброс запрещен в данный момент.
static final Cursor DefaultMoveDrop
По умолчанию Cursor для операции перемещения, указывающее, что сброс разрешен в данный момент.
static final Cursor DefaultMoveNoDrop
По умолчанию Cursor для операции перемещения, указывающее, что сброс запрещен в данный момент.

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

Конструктор Описание
DragSource()
Создает новый DragSource.

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

Модификатор и тип Метод Описание
void addDragSourceListener(DragSourceListener dsl)
Добавляет указанный DragSourceListener в этот DragSource для получения событий источника перетаскивания во время операций перетаскивания, инициированных этим DragSource.
void addDragSourceMotionListener(DragSourceMotionListener dsml)
Добавляет указанный DragSourceMotionListener в этот DragSource для получения событий перемещения перетаскивания во время операций перетаскивания, инициированных этим DragSource.
DragGestureRecognizer createDefaultDragGestureRecognizer(Component c, int actions, DragGestureListener dgl)
Создает новый DragGestureRecognizer, реализующий стандартный абстрактный подкласс DragGestureRecognizer для этого DragSource, и устанавливает указанные Component и DragGestureListener в созданный объект.
<T extends DragGestureRecognizer>
T
createDragGestureRecognizer(Class<T> recognizerAbstractClass, Component c, int actions, DragGestureListener dgl)
Создает новый DragGestureRecognizer, реализующий указанный абстрактный подкласс DragGestureRecognizer, и устанавливает указанные Component и DragGestureListener в созданный объект.
protected DragSourceContext createDragSourceContext(DragGestureEvent dgl, Cursor dragCursor, Image dragImage, Point imageOffset, Transferable t, DragSourceListener dsl)
Создает DragSourceContext для обработки текущей операции перетаскивания.
static DragSource getDefaultDragSource()
Возвращает объект DragSource , связанный с базовой платформой.
DragSourceListener[] getDragSourceListeners()
Возвращает все DragSourceListener , зарегистрированные в этом DragSource.
DragSourceMotionListener[] getDragSourceMotionListeners()
Возвращает все DragSourceMotionListener , зарегистрированные в этом DragSource.
static int getDragThreshold()
Возвращает порог перемещения жеста перетаскивания.
FlavorMap getFlavorMap()
Этот метод возвращает FlavorMap для этого DragSource.
<T extends EventListener>
T[]
getListeners(Class<T> listenerType)
Возвращает все объекты, в настоящее время зарегистрированные как FooListener в этом DragSource.
static boolean isDragImageSupported()
Указывает, доступна ли поддержка перетаскивания Image на базовой платформе.
void removeDragSourceListener(DragSourceListener dsl)
Удаляет указанный DragSourceListener из этого DragSource.
void removeDragSourceMotionListener(DragSourceMotionListener dsml)
Удаляет указанный DragSourceMotionListener из этого DragSource.
void startDrag(DragGestureEvent trigger, Cursor dragCursor, Transferable transferable, DragSourceListener dsl)
Инициализирует перетаскивание, учитывая DragGestureEvent , инициировавшее перетаскивание, начальное Cursor , данные предмета перетаскивания Transferable и DragSourceListener.
void startDrag(DragGestureEvent trigger, Cursor dragCursor, Transferable transferable, DragSourceListener dsl, FlavorMap flavorMap)
Инициализирует перетаскивание, учитывая DragGestureEvent , инициировавшее перетаскивание, начальное Cursor , данные предмета перетаскивания Transferable, DragSourceListener и FlavorMap.
void startDrag(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point dragOffset, Transferable transferable, DragSourceListener dsl)
Инициализирует перетаскивание, учитывая DragGestureEvent , инициировавшее перетаскивание, начальное Cursor , данные для перетаскивания Image, смещение начала Image от активной точки Cursor в момент срабатывания, данные предмета перетаскивания и DragSourceListener.
void startDrag(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point imageOffset, Transferable transferable, DragSourceListener dsl, FlavorMap flavorMap)
Инициализирует перетаскивание, учитывая DragGestureEvent , инициировавшее перетаскивание, начальное Cursor , данные для перетаскивания Image, смещение начала Image от активной точки Cursor в момент срабатывания, данные предмета перетаскивания Transferable, DragSourceListener и FlavorMap.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

DefaultCopyDrop

public static final Cursor DefaultCopyDrop
По умолчанию Cursor для операции копирования, указывающее, что перетаскивание в данный момент разрешено. null если GraphicsEnvironment.isHeadless() возвращает true.
См. также:
  • GraphicsEnvironment.isHeadless()

DefaultMoveDrop

public static final Cursor DefaultMoveDrop
По умолчанию Cursor для операции перемещения, указывающее, что перетаскивание в данный момент разрешено. null если GraphicsEnvironment.isHeadless() возвращает true.
См. также:
  • GraphicsEnvironment.isHeadless()

DefaultLinkDrop

public static final Cursor DefaultLinkDrop
По умолчанию Cursor для операции ссылки, указывающее, что перетаскивание в данный момент разрешено. null если GraphicsEnvironment.isHeadless() возвращает true.
См. также:
  • GraphicsEnvironment.isHeadless()

DefaultCopyNoDrop

public static final Cursor DefaultCopyNoDrop
По умолчанию Cursor для операции копирования, указывающее, что перетаскивание в данный момент запрещено. null если GraphicsEnvironment.isHeadless() возвращает true.
См. также:
  • GraphicsEnvironment.isHeadless()

DefaultMoveNoDrop

public static final Cursor DefaultMoveNoDrop
По умолчанию Cursor для операции перемещения, указывающее, что перетаскивание в данный момент запрещено. null если GraphicsEnvironment.isHeadless() возвращает true.
См. также:
  • GraphicsEnvironment.isHeadless()

DefaultLinkNoDrop

public static final Cursor DefaultLinkNoDrop
По умолчанию Cursor для операции ссылки, указывающее, что перетаскивание в данный момент запрещено. null если GraphicsEnvironment.isHeadless() возвращает true.
См. также:
  • GraphicsEnvironment.isHeadless()

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

DragSource

public DragSource() throws HeadlessException
Создает новый DragSource.
Исключения:
HeadlessException - если GraphicsEnvironment.isHeadless() возвращает true
См. также:
  • GraphicsEnvironment.isHeadless()

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

getDefaultDragSource

public static DragSource getDefaultDragSource()
Получает объект DragSource , связанный с базовой платформой.
Возвращает:
DragSource платформы
Исключения:
HeadlessException - если GraphicsEnvironment.isHeadless() возвращает true
См. также:
  • GraphicsEnvironment.isHeadless()

isDragImageSupported

public static boolean isDragImageSupported()
Сообщает, поддерживается ли функция перетаскивания Image на базовой платформе.
Возвращает:
Поддерживается ли функция перетаскивания изображения на этой платформе

startDrag

public void startDrag(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point imageOffset, Transferable transferable, DragSourceListener dsl, FlavorMap flavorMap) throws InvalidDnDOperationException
Начать перетаскивание, используя DragGestureEvent , которое инициировало перетаскивание, начальный Cursor , изображение для перетаскивания, смещение Image начала от точки-горячей точки Cursor в момент срабатывания, данные Transferable для перетаскивания, DragSourceListener, и FlavorMap.
Параметры:
trigger - DragGestureEvent , которое инициировало перетаскивание
dragCursor - начальный Cursor для операции перетаскивания или null для обработки курсора по умолчанию; см. DragSourceContext для получения дополнительной информации о механизме обработки курсора во время перетаскивания и сбрасывания
dragImage - изображение для перетаскивания или null
imageOffset - смещение Image начала от точки-горячей точки Cursor в момент срабатывания
transferable - данные для перетаскивания
dsl - DragSourceListener
flavorMap - FlavorMap , или null
Исключения:
InvalidDnDOperationException - если система перетаскивания и сбрасывания не может инициировать операцию перетаскивания или если пользователь пытается начать перетаскивание, в то время как текущая операция перетаскивания всё ещё выполняется

startDrag

public void startDrag(DragGestureEvent trigger, Cursor dragCursor, Transferable transferable, DragSourceListener dsl, FlavorMap flavorMap) throws InvalidDnDOperationException
Начать перетаскивание, используя DragGestureEvent , которое инициировало перетаскивание, начальный Cursor , данные Transferable для перетаскивания, DragSourceListener, и FlavorMap.
Параметры:
trigger - DragGestureEvent , которое инициировало перетаскивание
dragCursor - начальный Cursor для операции перетаскивания или null для обработки курсора по умолчанию; см. DragSourceContext для получения дополнительной информации о механизме обработки курсора во время перетаскивания и сбрасывания
transferable - данные для перетаскивания
dsl - DragSourceListener
flavorMap - FlavorMap , или null
Исключения:
InvalidDnDOperationException - если система перетаскивания и сбрасывания не может инициировать операцию перетаскивания или если пользователь пытается начать перетаскивание, в то время как текущая операция перетаскивания всё ещё выполняется

startDrag

public void startDrag(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point dragOffset, Transferable transferable, DragSourceListener dsl) throws InvalidDnDOperationException
Начать перетаскивание, используя DragGestureEvent , которое инициировало перетаскивание, начальный Cursor , изображение для перетаскивания, смещение Image начала от точки-горячей точки Cursor в момент срабатывания, данные для перетаскивания, и DragSourceListener.
Параметры:
trigger - DragGestureEvent , которое инициировало перетаскивание
dragCursor - начальный Cursor для операции перетаскивания или null для обработки курсора по умолчанию; см. DragSourceContext для получения дополнительной информации о механизме обработки курсора во время перетаскивания и сбрасывания
dragImage - изображение для перетаскивания или null
dragOffset - смещение Image начала от точки-горячей точки Cursor в момент срабатывания
transferable - данные для перетаскивания
dsl - DragSourceListener
Исключения:
InvalidDnDOperationException - если система перетаскивания и сбрасывания не может инициировать операцию перетаскивания или если пользователь пытается начать перетаскивание, в то время как текущая операция перетаскивания всё ещё выполняется

startDrag

public void startDrag(DragGestureEvent trigger, Cursor dragCursor, Transferable transferable, DragSourceListener dsl) throws InvalidDnDOperationException
Начать перетаскивание, используя DragGestureEvent , которое инициировало перетаскивание, начальный Cursor , данные Transferable для перетаскивания, и DragSourceListener.
Параметры:
trigger - DragGestureEvent , которое инициировало перетаскивание
dragCursor - начальный Cursor для операции перетаскивания или null для обработки курсора по умолчанию; см. класс DragSourceContext для получения дополнительной информации о механизме обработки курсора во время перетаскивания и сбрасывания
transferable - данные для перетаскивания
dsl - DragSourceListener
Исключения:
InvalidDnDOperationException - если система перетаскивания и сбрасывания не может инициировать операцию перетаскивания или если пользователь пытается начать перетаскивание, в то время как текущая операция перетаскивания всё ещё выполняется

createDragSourceContext

protected DragSourceContext createDragSourceContext(DragGestureEvent dgl, Cursor dragCursor, Image dragImage, Point imageOffset, Transferable t, DragSourceListener dsl)
Создаёт DragSourceContext для обработки текущей операции перетаскивания.

Чтобы добавить новый DragSourceContext подкласс, подклассируйте DragSource и переопределите этот метод.

Если dragImage является null, изображение не используется для отображения обратной связи при перетаскивании, но NullPointerException не выбрасывается.

Если dsl является null, слушатель источника перетаскивания не регистрируется с созданным DragSourceContext, но NullPointerException не выбрасывается.

Parameters:
dgl - Событие DragGestureEvent , вызвавшее перетаскивание
dragCursor - Начальный Cursor для этой операции перетаскивания или null для обработки курсора по умолчанию; см. класс DragSourceContext для получения более подробной информации о механизме обработки курсора во время перетаскивания
dragImage - Image для перетаскивания или null
imageOffset - Смещение начала Image от точки "горячей" области курсора в момент срабатывания
t - Данные объекта перетаскивания
dsl - DragSourceListener
Returns:
DragSourceContext
Throws:
NullPointerException - если dscp равно null
NullPointerException - если dgl равно null
NullPointerException - если dragImage не является null и imageOffset равно null
NullPointerException - если t равно null
IllegalArgumentException - если Component , связанное с событием срабатывания, равно null.
IllegalArgumentException - если DragSource для события срабатывания равно null.
IllegalArgumentException - если действие перетаскивания для события срабатывания равно DnDConstants.ACTION_NONE.
IllegalArgumentException - если действия источника для DragGestureRecognizer , связанного с событием срабатывания, равны DnDConstants.ACTION_NONE.

getFlavorMap

public FlavorMap getFlavorMap()
Этот метод возвращает FlavorMap для данного DragSource.
Returns:
FlavorMap для данного DragSource

createDragGestureRecognizer

public <T extends DragGestureRecognizer> T createDragGestureRecognizer(Class<T> recognizerAbstractClass, Component c, int actions, DragGestureListener dgl)
Создаёт новый DragGestureRecognizer, который реализует указанный абстрактный подкласс DragGestureRecognizer, и устанавливает указанный Component и DragGestureListener на вновь созданный объект.
Type Parameters:
T - тип DragGestureRecognizer для создания
Parameters:
recognizerAbstractClass - запрашиваемый абстрактный тип
c - целевой Component
actions - разрешенные действия перетаскивания источника
dgl - DragGestureListener для уведомления
Returns:
новый DragGestureRecognizer или null , если метод Toolkit.createDragGestureRecognizer не имеет реализации для запрашиваемого подкласса DragGestureRecognizer и возвращает null

createDefaultDragGestureRecognizer

public DragGestureRecognizer createDefaultDragGestureRecognizer(Component c, int actions, DragGestureListener dgl)
Создаёт новый DragGestureRecognizer, который реализует подкласс DragGestureRecognizer по умолчанию для данного DragSource, и устанавливает указанный Component и DragGestureListener на вновь созданный объект. Для данного DragSource значение по умолчанию является MouseDragGestureRecognizer.
Parameters:
c - целевой Component для распознавателя
actions - разрешенные действия источника
dgl - DragGestureListener для уведомления
Returns:
новый DragGestureRecognizer или null , если метод Toolkit.createDragGestureRecognizer не имеет реализации для запрашиваемого подкласса DragGestureRecognizer и возвращает null

addDragSourceListener

public void addDragSourceListener(DragSourceListener dsl)
Добавляет указанного DragSourceListener к этому DragSource для получения событий источника перетаскивания во время операций перетаскивания, инициированных этим DragSource. Если указан слушатель null, никаких действий не выполняется, и исключения не выбрасываются.
Parameters:
dsl - DragSourceListener для добавления
Since:
1.4
See Also:
  • removeDragSourceListener(java.awt.dnd.DragSourceListener)
  • getDragSourceListeners()

removeDragSourceListener

public void removeDragSourceListener(DragSourceListener dsl)
Удаляет указанного DragSourceListener из данного DragSource. Если указан слушатель null, никаких действий не выполняется, и исключения не выбрасываются. Если слушатель, заданный аргументом, ранее не был добавлен к этому DragSource, никаких действий не выполняется, и исключения не выбрасываются.
Parameters:
dsl - DragSourceListener для удаления
Since:
1.4
See Also:
  • addDragSourceListener(java.awt.dnd.DragSourceListener)
  • getDragSourceListeners()

getDragSourceListeners

public DragSourceListener[] getDragSourceListeners()
Возвращает всех зарегистрированных DragSourceListener для этого DragSource.
Returns:
все DragSource's DragSourceListener или пустой массив, если такие слушатели не зарегистрированы
Since:
1.4
See Also:
  • addDragSourceListener(java.awt.dnd.DragSourceListener)
  • removeDragSourceListener(java.awt.dnd.DragSourceListener)

addDragSourceMotionListener

public void addDragSourceMotionListener(DragSourceMotionListener dsml)
Добавляет указанного DragSourceMotionListener к этому DragSource для получения событий движения перетаскивания во время операций перетаскивания, инициированных этим DragSource. Если указан слушатель null, никаких действий не выполняется, и исключения не выбрасываются.
Parameters:
dsml - DragSourceMotionListener для добавления
Since:
1.4
See Also:
  • removeDragSourceMotionListener(java.awt.dnd.DragSourceMotionListener)
  • getDragSourceMotionListeners()

removeDragSourceMotionListener

public void removeDragSourceMotionListener(DragSourceMotionListener dsml)
Удаляет указанного DragSourceMotionListener из данного DragSource. Если указан слушатель null, никаких действий не выполняется, и исключения не выбрасываются. Если слушатель, заданный аргументом, ранее не был добавлен к этому DragSource, никаких действий не выполняется, и исключения не выбрасываются.
Parameters:
dsml - DragSourceMotionListener для удаления
Since:
1.4
See Also:
  • addDragSourceMotionListener(java.awt.dnd.DragSourceMotionListener)
  • getDragSourceMotionListeners()

getDragSourceMotionListeners

public DragSourceMotionListener[] getDragSourceMotionListeners()
Возвращает всех зарегистрированных DragSourceMotionListener для этого DragSource.
Returns:
все DragSource's DragSourceMotionListener или пустой массив, если такие слушатели не зарегистрированы
Since:
1.4
See Also:
  • addDragSourceMotionListener(java.awt.dnd.DragSourceMotionListener)
  • removeDragSourceMotionListener(java.awt.dnd.DragSourceMotionListener)

getListeners

public <T extends EventListener> T[] getListeners(Class<T> listenerType)
Возвращает все объекты, в настоящее время зарегистрированные как FooListener для данного DragSource. FooListener регистрируются с помощью метода addFooListener.
Type Parameters:
T - тип объектов-слушателей
Parameters:
listenerType - тип запрашиваемых слушателей; этот параметр должен указать интерфейс, унаследованный от java.util.EventListener
Returns:
массив всех объектов, зарегистрированных как FooListener для данного DragSource, или пустой массив, если такие слушатели не были добавлены
Throws:
ClassCastException - если listenerType не указывает класс или интерфейс, реализующий java.util.EventListener
Since:
1.4
See Also:
  • getDragSourceListeners()
  • getDragSourceMotionListeners()

getDragThreshold

public static int getDragThreshold()
Возвращает порог перемещения жеста перетаскивания. Порог перемещения жеста перетаскивания определяет рекомендуемое поведение для MouseDragGestureRecognizer.

Если системная переменная awt.dnd.drag.threshold установлена в положительное целое число, этот метод возвращает значение системной переменной; в противном случае, если доступна соответствующая системная переменная рабочего стола и поддерживается реализацией Java платформы, этот метод возвращает значение этой переменной; в противном случае этот метод возвращает некоторое значение по умолчанию. Соответствующую системную переменную рабочего стола можно запросить, используя java.awt.Toolkit.getDesktopProperty("DnD.gestureMotionThreshold").

Возвращает:
порог перемещения жеста перетаскивания
С:
1.5
См. также:
  • MouseDragGestureRecognizer

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/java/awt/dnd/DragSource.html

Spec-Zone.ru

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