Spec-Zone.ru › OpenJDK 27

Класс DragSourceContext

java.lang.Object
java.awt.dnd.DragSourceContext
Все реализованные интерфейсы:
DragSourceListener, DragSourceMotionListener, Serializable, EventListener
public class DragSourceContext extends Object implements DragSourceListener, DragSourceMotionListener, Serializable
Класс DragSourceContext отвечает за управление инициирующей стороной протокола перетаскивания. В частности, он отвечает за управление уведомлениями о событиях перетаскивания для DragSourceListeners и DragSourceMotionListeners, а также за предоставление Transferable, представляющего исходные данные операции перетаскивания.

Обратите внимание, что сам DragSourceContext реализует интерфейсы DragSourceListener и DragSourceMotionListener. Это позволяет платформенному посреднику (экземпляру DragSourceContextPeer), созданному объектом DragSource, уведомлять DragSourceContext об изменениях состояния выполняющейся операции. Благодаря этому объект DragSourceContext может выступать посредником между платформой и прослушивателями, предоставленными инициатором операции перетаскивания.

По умолчанию DragSourceContext устанавливает курсор в соответствии с текущим состоянием операции перетаскивания. Например, если пользователь выбрал действие перемещения, а указатель находится над целью, принимающей действие перемещения, отображается стандартный курсор перемещения. Если указатель находится над областью, не принимающей передачу, отображается стандартный курсор «перетаскивание невозможно».

Этот механизм обработки по умолчанию отключается при установке пользовательского курсора методом setCursor(Cursor). Когда обработка по умолчанию отключена, разработчик должен самостоятельно поддерживать актуальность курсора: отслеживать события DragSource и вызывать метод setCursor(). В качестве альтернативы можно задать пользовательское поведение курсора, предоставив собственные реализации классов DragSource и DragSourceContext.

Начиная с:
1.2
См. также:
  • DragSourceListener
  • DragSourceMotionListener
  • DnDConstants
  • Форма сериализации

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

Модификатор и тип Поле Описание
protected static final int CHANGED
Объект int, используемый методом updateCurrentCursor() для указания на изменение операции пользователя.
protected static final int DEFAULT
Объект int, используемый методом updateCurrentCursor() для указания на то, что Cursor следует изменить на стандартный Cursor (перетаскивание невозможно).
protected static final int ENTER
Объект int, используемый методом updateCurrentCursor() для указания на то, что Cursor вошёл в DropTarget.
protected static final int OVER
Объект int, используемый методом updateCurrentCursor() для указания на то, что Cursor находится над DropTarget.

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

Конструктор Описание
DragSourceContext(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point offset, Transferable t, DragSourceListener dsl)
Вызываемый из DragSource конструктор создаёт новый DragSourceContext с учётом DragSourceContextPeer для этого перетаскивания, DragGestureEvent, инициировавшего перетаскивание, начального Cursor для перетаскивания, (необязательного) Image, отображаемого во время перетаскивания, смещения начала координат Image относительно горячей точки в момент инициирующего события, данных Transferable и DragSourceListener, используемого во время операции перетаскивания.

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

Модификатор и тип Метод Описание
void addDragSourceListener(DragSourceListener dsl)
Добавляет DragSourceListener к этому DragSourceContext, если он ещё не был добавлен.
void dragDropEnd(DragSourceDropEvent dsde)
Вызывает dragDropEnd для DragSourceListener, зарегистрированных в этом DragSourceContext и связанном с ним DragSource, и передаёт им указанный DragSourceDropEvent.
void dragEnter(DragSourceDragEvent dsde)
Вызывает dragEnter для DragSourceListener, зарегистрированных в этом DragSourceContext и связанном с ним DragSource, и передаёт им указанный DragSourceDragEvent.
void dragExit(DragSourceEvent dse)
Вызывает dragExit для DragSourceListener, зарегистрированных в этом DragSourceContext и связанном с ним DragSource, и передаёт им указанный DragSourceEvent.
void dragMouseMoved(DragSourceDragEvent dsde)
Вызывает dragMouseMoved для DragSourceMotionListener, зарегистрированных в DragSource, связанном с этим DragSourceContext, и передаёт им указанный DragSourceDragEvent.
void dragOver(DragSourceDragEvent dsde)
Вызывает dragOver для DragSourceListener, зарегистрированных в этом DragSourceContext и связанном с ним DragSource, и передаёт им указанный DragSourceDragEvent.
void dropActionChanged(DragSourceDragEvent dsde)
Вызывает dropActionChanged для DragSourceListener, зарегистрированных в этом DragSourceContext и связанном с ним DragSource, и передаёт им указанный DragSourceDragEvent.
Component getComponent()
Возвращает Component, связанный с этим DragSourceContext.
Cursor getCursor()
Возвращает текущий пользовательский курсор перетаскивания Cursor.
DragSource getDragSource()
Возвращает DragSource, создавший этот DragSourceContext.
int getSourceActions()
Возвращает побитовую маску DnDConstants, представляющую набор действий сброса, поддерживаемых источником перетаскивания для операции перетаскивания, связанной с этим DragSourceContext.
Transferable getTransferable()
Возвращает Transferable, связанный с этим DragSourceContext.
DragGestureEvent getTrigger()
Возвращает DragGestureEvent, изначально инициировавший перетаскивание.
void removeDragSourceListener(DragSourceListener dsl)
Удаляет указанный DragSourceListener из этого DragSourceContext.
void setCursor(Cursor c)
Устанавливает для этой операции перетаскивания указанный пользовательский курсор Cursor.
void transferablesFlavorsChanged()
Уведомляет посредника об изменении DataFlavor объекта Transferable.
protected void updateCurrentCursor(int sourceAct, int targetAct, int status)
Если используется стандартное поведение курсора перетаскивания, этот метод устанавливает стандартный курсор перетаскивания с учётом указанных действий, поддерживаемых источником перетаскивания, действия целевого объекта сброса и состояния; в противном случае метод ничего не делает.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли другой объект этому объекту.
protected void finalize()
Устарело, подлежит удалению: этот элемент API может быть удалён в будущей версии.
Финализация устарела и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения заданного интервала реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения заданного интервала реального времени.

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

DEFAULT

protected static final int DEFAULT
Объект int, используемый методом updateCurrentCursor() для указания на то, что Cursor следует изменить на стандартный Cursor (перетаскивание невозможно).
См. также:
  • Значения константных полей

ENTER

protected static final int ENTER
Объект int, используемый методом updateCurrentCursor() для указания на то, что Cursor вошёл в DropTarget.
См. также:
  • Значения константных полей

OVER

protected static final int OVER
Объект int, используемый методом updateCurrentCursor() для указания на то, что Cursor находится над DropTarget.
См. также:
  • Значения константных полей

CHANGED

protected static final int CHANGED
Объект int, используемый методом updateCurrentCursor() для указания на изменение операции пользователя.
См. также:
  • Значения константных полей

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

DragSourceContext

public DragSourceContext(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point offset, Transferable t, DragSourceListener dsl)
Вызываемый из DragSource конструктор создаёт новый DragSourceContext с учётом DragSourceContextPeer для этого перетаскивания, DragGestureEvent, инициировавшего перетаскивание, начального Cursor для перетаскивания, (необязательного) Image, отображаемого во время перетаскивания, смещения начала координат Image относительно горячей точки в момент инициирующего события, данных Transferable и DragSourceListener, используемого во время операции перетаскивания.
Если DragSourceContextPeer имеет значение null, выбрасывается NullPointerException.
Если DragGestureEvent имеет значение null, выбрасывается NullPointerException.
Если Cursor имеет значение null, исключение не выбрасывается, а для этой операции перетаскивания активируется стандартное поведение курсора.
Если Image имеет значение null, исключение не выбрасывается.
Если Image не имеет значения null и смещение имеет значение null NullPointerException, выбрасывается Transferable.
Если null имеет значение NullPointerException, исключение не выбрасывается.
Если DragSourceListener имеет значение null, исключение не выбрасывается.
Параметры:
trigger — инициирующее событие
dragCursor — начальный Cursor для этой операции перетаскивания или null для стандартной обработки курсора; дополнительные сведения об обработке курсора при перетаскивании см. в документации на уровне класса
dragImage — Image для перетаскивания (или null)
offset — смещение начала координат изображения относительно горячей точки в момент инициирующего события
t — Transferable
dsl — DragSourceListener
Выбрасывает:
IllegalArgumentException — если Component, связанный с инициирующим событием, имеет значение null.
IllegalArgumentException — если DragSource для инициирующего события имеет значение null.
IllegalArgumentException — если действие перетаскивания для инициирующего события имеет значение DnDConstants.ACTION_NONE.
IllegalArgumentException — если действия источника для DragGestureRecognizer, связанного с инициирующим событием, равны DnDConstants.ACTION_NONE.
NullPointerException — если dscp, trigger или t равны null либо если dragImage не равен null, а offset равен null

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

getDragSource

public DragSource getDragSource()
Возвращает DragSource, создавший этот DragSourceContext.
Возвращает:
DragSource, создавший этот DragSourceContext

getComponent

public Component getComponent()
Возвращает Component, связанный с этим DragSourceContext.
Возвращает:
Component, инициировавший перетаскивание

getTrigger

public DragGestureEvent getTrigger()
Возвращает DragGestureEvent, изначально инициировавший перетаскивание.
Возвращает:
событие, инициировавшее перетаскивание

getSourceActions

public int getSourceActions()
Возвращает побитовую маску DnDConstants, представляющую набор действий сброса, поддерживаемых источником перетаскивания для операции перетаскивания, связанной с этим DragSourceContext.
Возвращает:
действия сброса, поддерживаемые источником перетаскивания

setCursor

public void setCursor(Cursor c)
Устанавливает для этой операции перетаскивания указанный пользовательский курсор Cursor. Если указанный Cursor имеет значение null, для этой операции перетаскивания активируется стандартное поведение курсора; в противном случае оно отключается.
Параметры:
c — начальный Cursor для этой операции перетаскивания или null для стандартной обработки курсора; дополнительные сведения об обработке курсора при перетаскивании см. в документации на уровне класса

getCursor

public Cursor getCursor()
Возвращает текущий пользовательский курсор перетаскивания Cursor.
Возвращает:
текущий пользовательский курсор перетаскивания Cursor, если он был установлен; в противном случае возвращает null.
См. также:
  • setCursor(Cursor)

addDragSourceListener

public void addDragSourceListener(DragSourceListener dsl) throws TooManyListenersException
Добавляет DragSourceListener к этому DragSourceContext, если он ещё не был добавлен. Если DragSourceListener уже существует, этот метод выбрасывает TooManyListenersException.
Параметры:
dsl — DragSourceListener для добавления. Обратите внимание: хотя null не запрещён, он не является допустимым параметром.
Выбрасывает:
TooManyListenersException — если DragSourceListener уже был добавлен

removeDragSourceListener

public void removeDragSourceListener(DragSourceListener dsl)
Удаляет указанный DragSourceListener из этого DragSourceContext.
Параметры:
dsl — DragSourceListener для удаления; обратите внимание: хотя null не запрещён, он не является допустимым параметром

transferablesFlavorsChanged

public void transferablesFlavorsChanged()
Уведомляет посредника об изменении разновидностей DataFlavor объекта Transferable.

dragEnter

public void dragEnter(DragSourceDragEvent dsde)
Вызывает dragEnter для DragSourceListener, зарегистрированных в этом DragSourceContext и связанном с ним DragSource, и передаёт им указанный DragSourceDragEvent.
Определено в:
dragEnter в интерфейсе DragSourceListener
Параметры:
dsde — DragSourceDragEvent

dragOver

public void dragOver(DragSourceDragEvent dsde)
Вызывает dragOver для DragSourceListener, зарегистрированных в этом DragSourceContext и связанном с ним DragSource, и передаёт им указанный DragSourceDragEvent.
Определено в:
dragOver в интерфейсе DragSourceListener
Параметры:
dsde — DragSourceDragEvent

dragExit

public void dragExit(DragSourceEvent dse)
Вызывает dragExit для DragSourceListener, зарегистрированных в этом DragSourceContext и связанном с ним DragSource, и передаёт им указанный DragSourceEvent.
Определено в:
dragExit в интерфейсе DragSourceListener
Параметры:
dse — DragSourceEvent

dropActionChanged

public void dropActionChanged(DragSourceDragEvent dsde)
Вызывает dropActionChanged для DragSourceListener, зарегистрированных в этом DragSourceContext и связанном с ним DragSource, и передаёт им указанный DragSourceDragEvent.
Определено в:
dropActionChanged в интерфейсе DragSourceListener
Параметры:
dsde — DragSourceDragEvent

dragDropEnd

public void dragDropEnd(DragSourceDropEvent dsde)
Вызывает dragDropEnd для DragSourceListener, зарегистрированных в этом DragSourceContext и связанном с ним DragSource, и передаёт им указанный DragSourceDropEvent.
Определено в:
dragDropEnd в интерфейсе DragSourceListener
Параметры:
dsde — DragSourceDropEvent

dragMouseMoved

public void dragMouseMoved(DragSourceDragEvent dsde)
Вызывает dragMouseMoved для DragSourceMotionListener, зарегистрированных в DragSource, связанном с этим DragSourceContext, и передаёт им указанный DragSourceDragEvent.
Определено в:
dragMouseMoved в интерфейсе DragSourceMotionListener
Параметры:
dsde — DragSourceDragEvent
Начиная с:
1.4

getTransferable

public Transferable getTransferable()
Возвращает Transferable, связанный с этим DragSourceContext.
Возвращает:
Transferable

updateCurrentCursor

protected void updateCurrentCursor(int sourceAct, int targetAct, int status)
Если используется стандартное поведение курсора перетаскивания, этот метод устанавливает стандартный курсор перетаскивания с учётом указанных действий, поддерживаемых источником перетаскивания, действия целевого объекта сброса и состояния; в противном случае метод ничего не делает.
Параметры:
sourceAct — действия, поддерживаемые источником перетаскивания
targetAct — действие целевого объекта сброса
status — одно из полей DEFAULT, ENTER, OVER, CHANGED

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её дочерних компаний в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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