Класс DragSource
- Все реализуемые интерфейсы:
Serializable
public class DragSource extends Object implements Serializable
- 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 к этому объекту 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() |
Указывает, доступна ли поддержка перетаскивания и сбрасывания на подлежащей платформе. |
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, который нужно перетащить, смещение начала координат 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
public void removeDragSourceListener(DragSourceListener dsl)
- Parameters:
-
dsl- слушатель для удаления - Since:
- 1.4
- See Also:
getDragSourceListeners
public DragSourceListener[] getDragSourceListeners()
- Returns:
- массив всех слушателей событий источника перетаскивания этого контекста или пустой массив, если таких слушателей не зарегистрировано
- Since:
- 1.4
- See Also:
addDragSourceMotionListener
public void addDragSourceMotionListener(DragSourceMotionListener dsml)
- Parameters:
-
dsml- слушатель для добавления - Since:
- 1.4
- See Also:
removeDragSourceMotionListener
public void removeDragSourceMotionListener(DragSourceMotionListener dsml)
- Parameters:
-
dsml- слушатель для удаления - Since:
- 1.4
- See Also:
getDragSourceMotionListeners
public DragSourceMotionListener[] getDragSourceMotionListeners()
- Returns:
- все слушатели событий перемещения перетаскивания этого контекста или пустой массив, если таких слушателей не зарегистрировано
- Since:
- 1.4
- See Also:
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:
getDragThreshold
public static int getDragThreshold()
MouseDragGestureRecognizer. Если системное свойство awt.dnd.drag.threshold установлено в положительное целое число, этот метод возвращает значение системного свойства; в противном случае, если соответствующее свойство рабочего стола доступно и поддерживается реализацией Java платформы, этот метод возвращает значение этого свойства; в противном случае этот метод возвращает некоторое значение по умолчанию. Соответствующее свойство рабочего стола можно запросить, используя java.awt.Toolkit.getDesktopProperty("DnD.gestureMotionThreshold").
- Возвращает:
- порог перемещения жеста перетаскивания
- С:
- 1.5
- См. также:
© 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