Класс 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 в этот DragSource для получения событий источника перетаскивания во время операций перетаскивания, инициированных этим DragSource. |
void |
addDragSourceMotionListener |
Добавляет указанный DragSourceMotionListener в этот DragSource для получения событий перемещения перетаскивания во время операций перетаскивания, инициированных этим DragSource. |
DragGestureRecognizer |
createDefaultDragGestureRecognizer |
Создает новый DragGestureRecognizer, реализующий стандартный абстрактный подкласс DragGestureRecognizer для этого DragSource, и устанавливает указанные Component и DragGestureListener в созданный объект. |
<T extends DragGestureRecognizer> |
createDragGestureRecognizer |
Создает новый DragGestureRecognizer, реализующий указанный абстрактный подкласс DragGestureRecognizer, и устанавливает указанные Component и DragGestureListener в созданный объект. |
protected DragSourceContext |
createDragSourceContext |
Создает DragSourceContext для обработки текущей операции перетаскивания. |
static DragSource |
getDefaultDragSource() |
Возвращает объект DragSource , связанный с базовой платформой. |
DragSourceListener[] |
getDragSourceListeners() |
Возвращает все DragSourceListener , зарегистрированные в этом DragSource. |
DragSourceMotionListener[] |
getDragSourceMotionListeners() |
Возвращает все DragSourceMotionListener , зарегистрированные в этом DragSource. |
static int |
getDragThreshold() |
Возвращает порог перемещения жеста перетаскивания. |
FlavorMap |
getFlavorMap() |
Этот метод возвращает FlavorMap для этого DragSource. |
<T extends EventListener> |
getListeners |
Возвращает все объекты, в настоящее время зарегистрированные как FooListener в этом DragSource. |
static boolean |
isDragImageSupported() |
Указывает, доступна ли поддержка перетаскивания Image на базовой платформе. |
void |
removeDragSourceListener |
Удаляет указанный DragSourceListener из этого DragSource. |
void |
removeDragSourceMotionListener |
Удаляет указанный DragSourceMotionListener из этого DragSource. |
void |
startDrag |
Инициализирует перетаскивание, учитывая DragGestureEvent , инициировавшее перетаскивание, начальное Cursor , данные предмета перетаскивания Transferable и DragSourceListener. |
void |
startDrag |
Инициализирует перетаскивание, учитывая DragGestureEvent , инициировавшее перетаскивание, начальное Cursor , данные предмета перетаскивания Transferable, DragSourceListener и FlavorMap. |
void |
startDrag |
Инициализирует перетаскивание, учитывая DragGestureEvent , инициировавшее перетаскивание, начальное Cursor , данные для перетаскивания Image, смещение начала Image от активной точки Cursor в момент срабатывания, данные предмета перетаскивания и DragSourceListener. |
void |
startDrag |
Инициализирует перетаскивание, учитывая DragGestureEvent , инициировавшее перетаскивание, начальное Cursor , данные для перетаскивания Image, смещение начала Image от активной точки Cursor в момент срабатывания, данные предмета перетаскивания Transferable, DragSourceListener и FlavorMap. |
Подробное описание полей
DefaultCopyDrop
public static final Cursor DefaultCopyDrop
Cursor для операции копирования, указывающее, что перетаскивание в данный момент разрешено. null если GraphicsEnvironment.isHeadless() возвращает true.- См. также:
DefaultMoveDrop
public static final Cursor DefaultMoveDrop
Cursor для операции перемещения, указывающее, что перетаскивание в данный момент разрешено. null если GraphicsEnvironment.isHeadless() возвращает true.- См. также:
DefaultLinkDrop
public static final Cursor DefaultLinkDrop
Cursor для операции ссылки, указывающее, что перетаскивание в данный момент разрешено. null если GraphicsEnvironment.isHeadless() возвращает true.- См. также:
DefaultCopyNoDrop
public static final Cursor DefaultCopyNoDrop
Cursor для операции копирования, указывающее, что перетаскивание в данный момент запрещено. null если GraphicsEnvironment.isHeadless() возвращает true.- См. также:
DefaultMoveNoDrop
public static final Cursor DefaultMoveNoDrop
Cursor для операции перемещения, указывающее, что перетаскивание в данный момент запрещено. null если GraphicsEnvironment.isHeadless() возвращает true.- См. также:
DefaultLinkNoDrop
public static final Cursor DefaultLinkNoDrop
Cursor для операции ссылки, указывающее, что перетаскивание в данный момент запрещено. null если GraphicsEnvironment.isHeadless() возвращает true.- См. также:
Подробное описание конструкторов
DragSource
public DragSource() throws HeadlessException
DragSource.- Исключения:
-
HeadlessException- если GraphicsEnvironment.isHeadless() возвращает true - См. также:
Подробное описание методов
getDefaultDragSource
public static DragSource getDefaultDragSource()
DragSource , связанный с базовой платформой.- Возвращает:
- DragSource платформы
- Исключения:
-
HeadlessException- если GraphicsEnvironment.isHeadless() возвращает true - См. также:
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
public void removeDragSourceListener(DragSourceListener dsl)
DragSourceListener из данного DragSource. Если указан слушатель null, никаких действий не выполняется, и исключения не выбрасываются. Если слушатель, заданный аргументом, ранее не был добавлен к этому DragSource, никаких действий не выполняется, и исключения не выбрасываются.- Parameters:
-
dsl-DragSourceListenerдля удаления - Since:
- 1.4
- See Also:
getDragSourceListeners
public DragSourceListener[] getDragSourceListeners()
DragSourceListener для этого DragSource.- Returns:
- все
DragSource'sDragSourceListenerили пустой массив, если такие слушатели не зарегистрированы - Since:
- 1.4
- See Also:
addDragSourceMotionListener
public void addDragSourceMotionListener(DragSourceMotionListener dsml)
DragSourceMotionListener к этому DragSource для получения событий движения перетаскивания во время операций перетаскивания, инициированных этим DragSource. Если указан слушатель null, никаких действий не выполняется, и исключения не выбрасываются.- Parameters:
-
dsml-DragSourceMotionListenerдля добавления - Since:
- 1.4
- See Also:
removeDragSourceMotionListener
public void removeDragSourceMotionListener(DragSourceMotionListener dsml)
DragSourceMotionListener из данного DragSource. Если указан слушатель null, никаких действий не выполняется, и исключения не выбрасываются. Если слушатель, заданный аргументом, ранее не был добавлен к этому DragSource, никаких действий не выполняется, и исключения не выбрасываются.- Parameters:
-
dsml-DragSourceMotionListenerдля удаления - Since:
- 1.4
- See Also:
getDragSourceMotionListeners
public DragSourceMotionListener[] getDragSourceMotionListeners()
DragSourceMotionListener для этого DragSource.- Returns:
- все
DragSource'sDragSourceMotionListenerили пустой массив, если такие слушатели не зарегистрированы - Since:
- 1.4
- See Also:
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:
getDragThreshold
public static int getDragThreshold()
MouseDragGestureRecognizer. Если системная переменная awt.dnd.drag.threshold установлена в положительное целое число, этот метод возвращает значение системной переменной; в противном случае, если доступна соответствующая системная переменная рабочего стола и поддерживается реализацией Java платформы, этот метод возвращает значение этой переменной; в противном случае этот метод возвращает некоторое значение по умолчанию. Соответствующую системную переменную рабочего стола можно запросить, используя java.awt.Toolkit.getDesktopProperty("DnD.gestureMotionThreshold").
- Возвращает:
- порог перемещения жеста перетаскивания
- С:
- 1.5
- См. также:
© 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