Класс 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- начальный курсор для данной операции перетаскивания или значениеnullдля использования стандартного поведения курсора; см. документацию класса для получения дополнительной информации о механизме обработки курсора во время перетаскивания и отпускания -
dragImage- переносимое изображение (или данные) -
offset- смещение начала изображения от точки "горячей" области в момент события -
t- переносимые данные -
dsl- слушатель перетаскивания - Исключения:
-
IllegalArgumentException- если компонент, связанный с событием, не определён. -
IllegalArgumentException- если действие перетаскивания для события недопустимо. -
IllegalArgumentException- если действие перетаскивания для события недопустимо. -
IllegalArgumentException- если набор доступных действий перетаскивания и отпускания не определён. -
NullPointerException- если dscp, триггер или t равны null, или если dragImage не null, а offset null.
Подробное описание методов
getDragSource
public DragSource getDragSource()
- Возвращает:
- источник перетаскивания
getComponent
public Component getComponent()
- Возвращает:
- компонент, с которого началось перетаскивание
getTrigger
public DragGestureEvent getTrigger()
- Возвращает:
- событие, вызвавшее перетаскивание
getSourceActions
public int getSourceActions()
- Возвращает:
- поддерживаемые действия отпускания
setCursor
public void setCursor(Cursor c)
- Параметры:
-
c- пользовательский курсор или null для использования стандартного поведения курсора; см. документацию класса для получения дополнительной информации о работе курсора во время перетаскивания
getCursor
public Cursor getCursor()
- Возвращает:
- текущий пользовательский курсор перетаскивания, если он был установлен, иначе возвращает null.
- См. также:
addDragSourceListener
public void addDragSourceListener(DragSourceListener dsl) throws TooManyListenersException
- Параметры:
-
dsl- слушатель перетаскивания. Заметьте, что хотя null не запрещён, он неприемлем в качестве параметра. - Исключения:
-
TooManyListenersException- если слушатель уже добавлен
removeDragSourceListener
public void removeDragSourceListener(DragSourceListener dsl)
- Параметры:
-
dsl- слушатель перетаскивания; заметьте, что null не запрещён, но неприемлем в качестве параметра
transferablesFlavorsChanged
public void transferablesFlavorsChanged()
dragEnter
public void dragEnter(DragSourceDragEvent dsde)
- Определено в:
-
dragEnterв интерфейсеDragSourceListener - Параметры:
-
dsde- событие перетаскивания
dragOver
public void dragOver(DragSourceDragEvent dsde)
- Определено в:
-
dragOverв интерфейсеDragSourceListener - Параметры:
-
dsde- событие перетаскивания
dragExit
public void dragExit(DragSourceEvent dse)
- Определено в:
-
dragExitв интерфейсеDragSourceListener - Параметры:
-
dse- событие перетаскивания
dropActionChanged
public void dropActionChanged(DragSourceDragEvent dsde)
- Определено в:
-
dropActionChangedв интерфейсеDragSourceListener - Параметры:
-
dsde- событие перетаскивания
dragDropEnd
public void dragDropEnd(DragSourceDropEvent dsde)
dragDropEnd для зарегистрированных DragSourceListener с этим DragSourceContext и связанным DragSource, передавая им указанное DragSourceDropEvent.- Specified by:
-
dragDropEndв интерфейсеDragSourceListener - Parameters:
-
dsde-DragSourceDropEvent
dragMouseMoved
public void dragMouseMoved(DragSourceDragEvent dsde)
dragMouseMoved для зарегистрированных DragSourceMotionListener с DragSource , связанным с этим DragSourceContext, и передает указанное DragSourceDragEvent.- Specified by:
-
dragMouseMovedв интерфейсеDragSourceMotionListener - Parameters:
-
dsde-DragSourceDragEvent - Since:
- 1.4
getTransferable
public Transferable getTransferable()
Transferable , связанное с этим DragSourceContext.- Returns:
Transferable
updateCurrentCursor
protected void updateCurrentCursor(int sourceAct, int targetAct, int status)
- Parameters:
-
sourceAct- поддерживаемые источником перетаскивания действия -
targetAct- действие целевого объекта -
status- одно из полейDEFAULT,ENTER,OVER,CHANGED
© 1993, 2023, 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/21/docs/api/java.desktop/java/awt/dnd/DragSourceContext.html