Класс DragSource
- Все реализуемые интерфейсы:
Serializable
public class DragSource extends Object implements Serializable
DragSource — это сущность, отвечающая за инициирование операции перетаскивания, и она может использоваться в ряде сценариев: - Один экземпляр по умолчанию на JVM на протяжении всего времени существования этой JVM.
- Один экземпляр для каждого класса объектов, потенциально инициирующих перетаскивание (например, TextField). [зависит от реализации]
- Один экземпляр для каждого экземпляра конкретного
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. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Показывает, равен ли этот объект некоторому другому объекту. |
protected void |
finalize() |
Устарело, подлежит удалению: этот элемент API будет удалён в будущей версии. Финализация устарела и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
Подробное описание полей
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 перетаскивания.- Возвращает:
-
true, если на этой платформе доступна поддержка изображений перетаскивания; в противном случае —false
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)
DragSourceContext для обработки текущей операции перетаскивания. Чтобы использовать новый подкласс DragSourceContext, создайте подкласс DragSource и переопределите этот метод.
Если dragImage равен null, изображение для отображения обратной связи при перетаскивании в этой операции не используется, но NullPointerException не выбрасывается.
Если dsl равен null, к созданному объекту DragSourceContext не добавляется прослушиватель источника перетаскивания, но NullPointerException не выбрасывается.
- Параметры:
-
dgl—DragGestureEvent, инициировавшее перетаскивание -
dragCursor— начальныйCursorдля этой операции перетаскивания илиnullдля обработки курсора по умолчанию; дополнительные сведения о механизме обработки курсора во время перетаскивания см. в классе DragSourceContext -
dragImage—Imageдля перетаскивания илиnull -
imageOffset— смещение начала координатImageотносительно точки захвата курсора в момент срабатывания -
t— данные перетаскиваемого объекта -
dsl—DragSourceListener - Возвращает:
DragSourceContext- Вызывает исключение:
-
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.- Возвращает:
FlavorMapдля данного объектаDragSource
createDragGestureRecognizer
public <T extends DragGestureRecognizer> T createDragGestureRecognizer(Class<T> recognizerAbstractClass, Component c, int actions, DragGestureListener dgl)
DragGestureRecognizer, реализующий указанный абстрактный подкласс DragGestureRecognizer, и задает для созданного объекта указанные Component и DragGestureListener.- Параметры типа:
T— тип создаваемого объектаDragGestureRecognizer- Параметры:
-
recognizerAbstractClass— требуемый абстрактный тип -
c— целевой объектComponent -
actions— разрешенные действия перетаскивания источника -
dgl—DragGestureListener, которому следует отправить уведомление - Возвращает:
- новый объект
DragGestureRecognizerилиnull, если методToolkit.createDragGestureRecognizerне имеет реализации для требуемого подклассаDragGestureRecognizerи возвращаетnull
createDefaultDragGestureRecognizer
public DragGestureRecognizer createDefaultDragGestureRecognizer(Component c, int actions, DragGestureListener dgl)
DragGestureRecognizer, реализующий стандартный абстрактный подкласс DragGestureRecognizer для данного объекта DragSource, и задает для созданного объекта указанные Component и DragGestureListener. Для данного объекта DragSource значением по умолчанию является MouseDragGestureRecognizer.- Параметры:
-
c— целевой объектComponentдля распознавателя -
actions— разрешенные действия источника -
dgl—DragGestureListener, которому следует отправить уведомление - Возвращает:
- новый объект
DragGestureRecognizerилиnull, если методToolkit.createDragGestureRecognizerне имеет реализации для требуемого подклассаDragGestureRecognizerи возвращаетnull
addDragSourceListener
public void addDragSourceListener(DragSourceListener dsl)
DragSourceListener к данному объекту DragSource, чтобы получать события источника перетаскивания во время операций, инициированных этим объектом DragSource. Если указан прослушиватель null, никаких действий не выполняется и исключение не выбрасывается.- Параметры:
-
dsl— добавляемый объектDragSourceListener - Начиная с:
- 1.4
- См. также:
removeDragSourceListener
public void removeDragSourceListener(DragSourceListener dsl)
DragSourceListener из данного объекта DragSource. Если указан прослушиватель null, никаких действий не выполняется и исключение не выбрасывается. Если прослушиватель, указанный аргументом, ранее не добавлялся к данному объекту DragSource, никаких действий не выполняется и исключение не выбрасывается.- Параметры:
-
dsl— удаляемый объектDragSourceListener - Начиная с:
- 1.4
- См. также:
getDragSourceListeners
public DragSourceListener[] getDragSourceListeners()
DragSourceListener, зарегистрированные для данного объекта DragSource.- Возвращает:
- все объекты типа
DragSourceListenerданного объектаDragSourceили пустой массив, если такие прослушиватели не зарегистрированы - Начиная с:
- 1.4
- См. также:
addDragSourceMotionListener
public void addDragSourceMotionListener(DragSourceMotionListener dsml)
DragSourceMotionListener к данному объекту DragSource, чтобы получать события перемещения при перетаскивании во время операций, инициированных этим объектом DragSource. Если указан прослушиватель null, никаких действий не выполняется и исключение не выбрасывается.- Параметры:
-
dsml— добавляемый объектDragSourceMotionListener - Начиная с:
- 1.4
- См. также:
removeDragSourceMotionListener
public void removeDragSourceMotionListener(DragSourceMotionListener dsml)
DragSourceMotionListener из данного объекта DragSource. Если указан прослушиватель null, никаких действий не выполняется и исключение не выбрасывается. Если прослушиватель, указанный аргументом, ранее не добавлялся к данному объекту DragSource, никаких действий не выполняется и исключение не выбрасывается.- Параметры:
-
dsml— удаляемый объектDragSourceMotionListener - Начиная с:
- 1.4
- См. также:
getDragSourceMotionListeners
public DragSourceMotionListener[] getDragSourceMotionListeners()
DragSourceMotionListener, зарегистрированные для данного объекта DragSource.- Возвращает:
- все объекты типа
DragSourceMotionListenerданного объектаDragSourceили пустой массив, если такие прослушиватели не зарегистрированы - Начиная с:
- 1.4
- См. также:
getListeners
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
DragSource в качестве прослушивателей FooListener. Регистрация прослушивателей FooListener выполняется с помощью метода addFooListener.- Параметры типа:
T— тип объектов-прослушивателей- Параметры:
-
listenerType— требуемый тип прослушивателей; этот параметр должен задавать интерфейс, являющийся потомкомjava.util.EventListener - Возвращает:
- массив всех объектов, зарегистрированных в качестве прослушивателей
FooListenerдля данного объектаDragSource, или пустой массив, если такие прослушиватели не добавлены - Вызывает исключение:
-
ClassCastException— еслиlistenerTypeне задает класс или интерфейс, реализующийjava.util.EventListener - Начиная с:
- 1.4
- См. также:
getDragThreshold
public static int getDragThreshold()
MouseDragGestureRecognizer. Если системное свойство awt.dnd.drag.threshold установлено в положительное целое число, этот метод возвращает значение системного свойства; в противном случае, если соответствующее свойство рабочего стола доступно и поддерживается реализацией платформы Java, метод возвращает значение этого свойства; иначе метод возвращает значение по умолчанию. Соответствующее свойство рабочего стола можно запросить с помощью java.awt.Toolkit.getDesktopProperty("DnD.gestureMotionThreshold").
- Возвращает:
- порог перемещения жеста перетаскивания
- Начиная с:
- 1.5
- См. также:
© 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.