Класс 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.
- Since:
- 1.2
- See Also:
-
DragSourceListener,DragSourceMotionListener,DnDConstants, Serialized Form
Поля
| Модификатор и тип | Поле и описание |
|---|---|
protected static int |
CHANGED Переменная, используемая методом updateCurrentCursor(), указывающая на изменение пользователем операции. |
protected static int |
DEFAULT Переменная, используемая методом updateCurrentCursor(), указывающая на то, что курсор должен измениться на стандартный (без отпускания) курсор. |
protected static int |
ENTER Переменная, используемая методом updateCurrentCursor(), указывающая на то, что указатель мыши вошёл в область. |
protected static int |
OVER Переменная, используемая методом updateCurrentCursor(), указывающая на то, что указатель мыши находится над элементом. |
Конструкторы
| Конструктор и описание |
|---|
DragSourceContext(java.awt.dnd.peer.DragSourceContextPeer dscp,
DragGestureEvent trigger,
Cursor dragCursor,
Image dragImage,
Point offset,
Transferable t,
DragSourceListener dsl) Вызывается из |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
addDragSourceListener(DragSourceListener dsl) Добавить |
void |
dragDropEnd(DragSourceDropEvent dsde) Вызывает |
void |
dragEnter(DragSourceDragEvent dsde) Вызывает |
void |
dragExit(DragSourceEvent dse) Вызывает |
void |
dragMouseMoved(DragSourceDragEvent dsde) Вызывает |
void |
dragOver(DragSourceDragEvent dsde) Вызывает |
void |
dropActionChanged(DragSourceDragEvent dsde) Вызывает |
Component |
getComponent() Возвращает |
Cursor |
getCursor() Возвращает текущее перетаскивание |
DragSource |
getDragSource() Возвращает |
int |
getSourceActions() Возвращает битовую маску |
Transferable |
getTransferable() Возвращает |
DragGestureEvent |
getTrigger() Возвращает |
void |
removeDragSourceListener(DragSourceListener dsl) Удаляет указанное |
void |
setCursor(Cursor c) Устанавливает курсор для этой операции перетаскивания на указанный |
void |
transferablesFlavorsChanged() Уведомляет пару об изменениях |
protected void |
updateCurrentCursor(int sourceAct,
int targetAct,
int status) Если поведение по умолчанию курсора перетаскивания активно, этот метод устанавливает курсор перетаскивания по умолчанию для указанных действий, поддерживаемых источником перетаскивания, действием целевого объекта сбрасывания и статусом; в противном случае этот метод ничего не делает. |
Методы, унаследованные от класса 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(java.awt.dnd.peer.DragSourceContextPeer dscp,
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, исключение не выбрасывается, и для этой операции перетаскивания активируется поведение стандартного курсора.
Если Image равно null, исключение не выбрасывается.
Если Image не равно null, и смещение равно null, выбрасывается NullPointerException.
Если Transferable равно null, выбрасывается NullPointerException.
Если DragSourceListener равно null, исключение не выбрасывается.
- Параметры:
-
dscp-DragSourceContextPeerдля этого drag -
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, который инициировал перетаскивание
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
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 изменились 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 у зарегистрированных 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, 2020, 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.