Класс 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 для DragSourceListeners, зарегистрированных в этом DragSourceContext, и с связанным DragSource, и передает им указанный DragSourceDropEvent. |
void |
dragEnter |
Вызывает dragEnter для DragSourceListeners, зарегистрированных в этом DragSourceContext, и с связанным DragSource, и передает им указанный DragSourceDragEvent. |
void |
dragExit |
Вызывает dragExit для DragSourceListeners, зарегистрированных в этом DragSourceContext, и с связанным DragSource, и передает им указанный DragSourceEvent. |
void |
dragMouseMoved |
Вызывает dragMouseMoved для DragSourceMotionListeners, зарегистрированных с DragSource, связанным с этим DragSourceContext, и передает им указанный DragSourceDragEvent. |
void |
dragOver |
Вызывает dragOver для DragSourceListeners, зарегистрированных в этом DragSourceContext, и с связанным DragSource, и передает им указанный DragSourceDragEvent. |
void |
dropActionChanged |
Вызывает dropActionChanged для DragSourceListeners, зарегистрированных в этом 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() |
Уведомляет узел о том, что Transferable DataFlavor изменились. |
protected void |
updateCurrentCursor |
Если поведение курсора перетаскивания по умолчанию активно, этот метод устанавливает курсор перетаскивания по умолчанию для указанных действий, поддерживаемых источником перетаскивания, действия целевого объекта и состояния; в противном случае этот метод ничего не делает. |
Подробное описание полей
DEFAULT
protected static final int DEFAULT
- См. также:
ENTER
protected static final int ENTER
- См. также:
OVER
protected static final int OVER
- См. также:
CHANGED
protected static final int CHANGED
- См. также:
Подробное описание конструкторов
DragSourceContext
public DragSourceContext(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point offset, Transferable t, DragSourceListener dsl)
DragSource, этот конструктор создаёт новый объект DragSourceContext на основе параметров перетаскивания: события перетаскивания, начальный курсор, изображение, точка, данные и обработчик перетаскивания. Если
DragSourceContextPeer имеет значение null, выбрасывается исключение NullPointerException. Если
DragGestureEvent имеет значение null, выбрасывается исключение NullPointerException. Если
Cursor имеет значение null, исключение не выбрасывается, и используется стандартное поведение курсора при перетаскивании. Если
Image имеет значение null, исключение не выбрасывается. Если
Image не является null, а смещение null NullPointerException, выбрасывается исключение. Если
Transferable имеет значение null, выбрасывается исключение NullPointerException. Если
DragSourceListener имеет значение null, исключение не выбрасывается.- Параметры:
-
trigger- событие, вызвавшее перетаскивание -
dragCursor- начальный курсор для операции перетаскивания или значение для обработки стандартного курсора; см. документацию класса для получения более подробной информации о механизме обработки курсора во время перетаскивания -
dragImage- перетаскиваемые данные (илиnull) -
offset- смещение начала изображения относительно точки фокусировки в момент события -
t- перетаскиваемые данные -
dsl- обработчик перетаскивания - Исключения:
-
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- начальный курсор для этой операции перетаскивания, илиnullдля обработки стандартного курсора; см. документацию уровня класса для получения более подробной информации о механизме обработки курсора во время перетаскивания и отпускания
getCursor
public Cursor getCursor()
- Возвращает:
- текущий пользовательский курсор перетаскивания, если он был установлен, в противном случае возвращает
null. - См. также:
addDragSourceListener
public void addDragSourceListener(DragSourceListener dsl) throws TooManyListenersException
TooManyListenersException.- Параметры:
-
dsl- обработчик перетаскивания для добавления. Обратите внимание, что хотяnullне запрещено, он неприемлем в качестве параметра. - Исключения:
-
TooManyListenersException- если обработчик перетаскивания уже добавлен
removeDragSourceListener
public void removeDragSourceListener(DragSourceListener dsl)
- Параметры:
-
dsl- обработчик перетаскивания для удаления; обратите внимание, что хотяnullне запрещено, он неприемлем в качестве параметра
transferablesFlavorsChanged
public void transferablesFlavorsChanged()
dragEnter
public void dragEnter(DragSourceDragEvent dsde)
dragEnter для зарегистрированных обработчиков перетаскивания, связанных с этим объектом и передаёт им указанное событие DragSourceDragEvent.- Определено в:
-
dragEnterв интерфейсеDragSourceListener - Параметры:
-
dsde- событие перетаскивания
dragOver
public void dragOver(DragSourceDragEvent dsde)
dragOver для зарегистрированных обработчиков перетаскивания, связанных с этим объектом и передаёт им указанное событие DragSourceDragEvent.- Определено в:
-
dragOverв интерфейсеDragSourceListener - Параметры:
-
dsde- событие перетаскивания
dragExit
public void dragExit(DragSourceEvent dse)
dragExit для зарегистрированных обработчиков перетаскивания, связанных с этим объектом и передаёт им указанное событие DragSourceEvent.- Определено в:
-
dragExitв интерфейсеDragSourceListener - Параметры:
-
dse- событие перетаскивания
dropActionChanged
public void dropActionChanged(DragSourceDragEvent dsde)
dropActionChanged для зарегистрированных обработчиков перетаскивания, связанных с этим объектом и передаёт им указанное событие DragSourceDragEvent.- Определено в:
-
dropActionChangedв интерфейсеDragSourceListener - Параметры:
-
dsde- событие перетаскивания
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, 2021, 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://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/java/awt/dnd/DragSourceContext.html