Класс 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
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
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 |
Вызываемый из DragSource конструктор создаёт новый DragSourceContext с учётом DragSourceContextPeer для этого перетаскивания, DragGestureEvent, инициировавшего перетаскивание, начального Cursor для перетаскивания, (необязательного) Image, отображаемого во время перетаскивания, смещения начала координат Image относительно горячей точки в момент инициирующего события, данных Transferable и DragSourceListener, используемого во время операции перетаскивания. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addDragSourceListener |
Добавляет DragSourceListener к этому DragSourceContext, если он ещё не был добавлен. |
void |
dragDropEnd |
Вызывает dragDropEnd для DragSourceListener, зарегистрированных в этом DragSourceContext и связанном с ним DragSource, и передаёт им указанный DragSourceDropEvent. |
void |
dragEnter |
Вызывает dragEnter для DragSourceListener, зарегистрированных в этом DragSourceContext и связанном с ним DragSource, и передаёт им указанный DragSourceDragEvent. |
void |
dragExit |
Вызывает dragExit для DragSourceListener, зарегистрированных в этом DragSourceContext и связанном с ним DragSource, и передаёт им указанный DragSourceEvent. |
void |
dragMouseMoved |
Вызывает dragMouseMoved для DragSourceMotionListener, зарегистрированных в DragSource, связанном с этим DragSourceContext, и передаёт им указанный DragSourceDragEvent. |
void |
dragOver |
Вызывает dragOver для DragSourceListener, зарегистрированных в этом DragSourceContext и связанном с ним DragSource, и передаёт им указанный DragSourceDragEvent. |
void |
dropActionChanged |
Вызывает 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 из этого DragSourceContext. |
void |
setCursor |
Устанавливает для этой операции перетаскивания указанный пользовательский курсор Cursor. |
void |
transferablesFlavorsChanged() |
Уведомляет посредника об изменении DataFlavor объекта Transferable. |
protected void |
updateCurrentCursor |
Если используется стандартное поведение курсора перетаскивания, этот метод устанавливает стандартный курсор перетаскивания с учётом указанных действий, поддерживаемых источником перетаскивания, действия целевого объекта сброса и состояния; в противном случае метод ничего не делает. |
Методы, объявленные в классе 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() |
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения заданного интервала реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова 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. - См. также:
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
© 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.