Spec-Zone.ru › OpenJDK 17

Класс DragSource

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

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

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

Метод startDrag() вызывает метод createDragSourceContext() для создания соответствующего объекта DragSourceContext и связывает объект DragSourceContextPeer с ним.

Если система Drag and Drop по какой-либо причине не может инициировать операцию перетаскивания, метод 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()
Указывает, доступна ли поддержка перетаскивания и сбрасывания на подлежащей платформе.
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, который нужно перетащить, смещение начала координат 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, который нужно перетащить, смещение начала координат Image от точки доступа Cursor в момент срабатывания, данные перетаскиваемого объекта и DragSourceListener.
Параметры:
trigger - DragGestureEvent, который инициировал перетаскивание
dragCursor - начальный Cursor для этой операции перетаскивания или null для обработки курсора по умолчанию; см. DragSourceContext для получения более подробной информации о механизме обработки курсора во время перетаскивания
dragImage - Image, который нужно перетащить, или 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)
Создаёт контекст для обработки текущей операции перетаскивания.

Для включения нового класса-подкласса, подклассифицируйте класс 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()
Этот метод возвращает карту типов данных для этого контекста перетаскивания.
Returns:
карта типов данных для этого контекста перетаскивания

createDragGestureRecognizer

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

createDefaultDragGestureRecognizer

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

addDragSourceListener

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

removeDragSourceListener

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

getDragSourceListeners

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

addDragSourceMotionListener

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

removeDragSourceMotionListener

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

getDragSourceMotionListeners

public DragSourceMotionListener[] getDragSourceMotionListeners()
Получает всех слушателей событий перемещения перетаскивания, зарегистрированных с этим контекстом.
Returns:
все слушатели событий перемещения перетаскивания этого контекста или пустой массив, если таких слушателей не зарегистрировано
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)
Получает все объекты, зарегистрированные в качестве слушателей для этого объекта. Слушатели регистрируются с помощью метода addFooListener.
Type Parameters:
T - тип объектов-слушателей
Parameters:
listenerType - тип запрашиваемых слушателей; этот параметр должен указывать интерфейс, являющийся подклассом java.util.EventListener
Returns:
массив всех объектов, зарегистрированных в качестве слушателей для этого объекта, или пустой массив, если таких слушателей не добавлено
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, 2021, 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/17/docs/api/java.desktop/java/awt/dnd/DragSource.html

Spec-Zone.ru

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