Spec-Zone.ru › OpenJDK 24

Класс 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(java.awt.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.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

DEFAULT

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

ENTER

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

OVER

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

CHANGED

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

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

DragSourceContext

public DragSourceContext(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point offset, Transferable t, DragSourceListener dsl)
Вызываемый из DragSource, этот конструктор создаёт новый DragSourceContext, принимая событие DragSourceContextPeer для Drag, событие DragGestureEvent, вызвавшее Drag, начальный Cursor для Drag, (необязательный) Image для отображения во время Drag, смещение начала Image от горячей точки в момент события, Transferable объект данных, и DragSourceListener для операции Drag and Drop.
Если DragSourceContextPeer является null, то генерируется исключение NullPointerException.
Если DragGestureEvent является null, то генерируется исключение NullPointerException.
Если Cursor является null, то исключение не генерируется и активируется поведение по умолчанию для курсора во время данной операции drag.
Если Image является null, то исключение не генерируется.
Если Image не является null, и смещение null NullPointerException, то генерируется исключение.
Если Transferable является null, то генерируется исключение NullPointerException.
Если DragSourceListener является null, то исключение не генерируется.
Параметры:
trigger - событие-триггер
dragCursor - начальный Cursor для этой операции drag или null для обработки курсора по умолчанию; см. документацию уровня класса для получения подробностей о механизме обработки курсора во время drag and drop
dragImage - Image для перетаскивания (или null)
offset - смещение начала изображения от горячей точки в момент события
t - Transferable
dsl - DragSourceListener
Исключения:
IllegalArgumentException - если Component, связанное с событием-триггером, является null.
IllegalArgumentException - если DragSource для события-триггера является null.
IllegalArgumentException - если действие drag для события-триггера является 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, который инициировал drag

getTrigger

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

getSourceActions

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

setCursor

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

getCursor

public Cursor getCursor()
Возвращает текущий пользовательский курсор drag.
Возвращает:
текущий пользовательский курсор drag, если он был установлен, иначе возвращает null.
См. также:
  • setCursor(java.awt.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()
Уведомляет peer о том, что Transferable's DataFlavor изменились.

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 у зарегистрированных с этим DragSourceContext и связанным с ним DragSource обработчиков, передавая им указанное DragSourceDragEvent.
Specified by:
dropActionChanged в интерфейсе DragSourceListener
Parameters:
dsde - the DragSourceDragEvent

dragDropEnd

public void dragDropEnd(DragSourceDropEvent dsde)
Вызывает dragDropEnd у зарегистрированных с этим DragSourceContext и связанным с ним DragSource обработчиков, передавая им указанное DragSourceDropEvent.
Specified by:
dragDropEnd в интерфейсе DragSourceListener
Parameters:
dsde - the DragSourceDropEvent

dragMouseMoved

public void dragMouseMoved(DragSourceDragEvent dsde)
Вызывает dragMouseMoved у зарегистрированных с DragSource, связанным с этим DragSourceContext, обработчиков, и передаёт им указанное DragSourceDragEvent.
Specified by:
dragMouseMoved в интерфейсе DragSourceMotionListener
Parameters:
dsde - the DragSourceDragEvent
Since:
1.4

getTransferable

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

updateCurrentCursor

protected void updateCurrentCursor(int sourceAct, int targetAct, int status)
Если поведение по умолчанию курсора при перетаскивании активно, этот метод устанавливает стандартный курсор перетаскивания для указанных действий, поддерживаемых источником перетаскивания, действием целевой области и статусом. В противном случае этот метод ничего не делает.
Parameters:
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.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/dnd/DragSourceContext.html

Spec-Zone.ru

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