Класс 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
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
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. |
Подробное описание полей
DEFAULT
protected static final int DEFAULT
Cursor.- См. также:
ENTER
protected static final int ENTER
DropTarget.- См. также:
OVER
protected static final int OVER
DropTarget.- См. также:
CHANGED
protected static final int CHANGED
- См. также:
Подробное описание конструкторов
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)
Cursor. Если указанный Cursor равен null, то поведение курсора по умолчанию активируется для данной операции drag, иначе – деактивируется.- Параметры:
-
c- начальныйCursorдля этой операции drag, илиnullдля обработки курсора по умолчанию; см. документацию уровня класса для получения подробностей о механизме обработки курсора во время drag and drop
getCursor
public Cursor getCursor()
- Возвращает:
- текущий пользовательский курсор drag, если он был установлен, иначе возвращает
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()
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- theDragSourceDragEvent
dragDropEnd
public void dragDropEnd(DragSourceDropEvent dsde)
dragDropEnd у зарегистрированных с этим DragSourceContext и связанным с ним DragSource обработчиков, передавая им указанное DragSourceDropEvent.- Specified by:
-
dragDropEndв интерфейсеDragSourceListener - Parameters:
-
dsde- theDragSourceDropEvent
dragMouseMoved
public void dragMouseMoved(DragSourceDragEvent dsde)
dragMouseMoved у зарегистрированных с DragSource, связанным с этим DragSourceContext, обработчиков, и передаёт им указанное DragSourceDragEvent.- Specified by:
-
dragMouseMovedв интерфейсеDragSourceMotionListener - Parameters:
-
dsde- theDragSourceDragEvent - 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