Пакет java.awt.dnd
Этот пакет определяет классы и интерфейсы, необходимые для выполнения операций перетаскивания в Java. Он определяет классы для источника перетаскивания и цели сброса, а также события для передачи перетаскиваемых данных. Пакет также предоставляет средства визуальной обратной связи с пользователем на протяжении всей операции перетаскивания.
Типичную операцию перетаскивания можно разделить на следующие состояния (не обязательно следующие строго друг за другом):
- Появляется
DragSource, связанный с некоторым элементом представления (Component) в графическом интерфейсе, чтобы инициировать перетаскивание потенциальноTransferableданных. - Появляется или исчезает один или несколько
DropTarget, связанных с элементами представления в графическом интерфейсе (компонентами), которые потенциально способны принимать типы данныхTransferable. - Из
DragSourceполучаютDragGestureRecognizerи связывают его сComponent, чтобы отслеживать и распознавать инициирующий перетаскивание жест пользователя надComponent. - Пользователь выполняет жест перетаскивания над
Component, который распознает зарегистрированныйDragGestureRecognizerи о котором он уведомляет свойDragGestureListener.Примечание. Хотя в этом API последовательно говорится о физическом жесте пользователя как о стимуле для операции перетаскивания, это не исключает программно управляемую операцию DnD при соответствующей реализации
DragSource. Этот пакет содержит абстрактный классMouseDragGestureRecognizerдля распознавания жестов, выполняемых с помощью мыши. Платформа может предоставлять другие абстрактные подклассы для поддержки других устройств ввода или семантики конкретных классовComponent. DragGestureListenerинициирует операцию перетаскивания от имени пользователя черезDragSource, возможно, анимируя курсор графического интерфейса и/или отображаяImageперетаскиваемого элемента или элементов.- Когда пользователь перемещает указатель жестом над
Componentв графическом интерфейсе, связанными сDropTarget,DragSourceполучает уведомления для отображения обратной связи «при перетаскивании», аDropTargetполучают уведомления для отображения обратной связи «под перетаскиваемым объектом» с учетом поддерживаемых операций и задействованных типов данных.
Сам жест перемещает логический указатель по иерархии графического интерфейса, пересекая границы геометрических областей компонентов графического интерфейса. В результате логический указатель «перетаскивания» может входить в Component и связанные с ними DropTarget, пересекать их и затем покидать.
Объект DragSource обеспечивает обратную связь «при перетаскивании» для пользователя — обычно посредством анимации графического интерфейса Cursor, связанного с логическим указателем.
Объекты DropTarget обеспечивают обратную связь «под перетаскиваемым объектом» для пользователя — обычно отображая анимацию в связанных с ними Component графического интерфейса под курсором.
Определение эффектов обратной связи и конечный результат передачи данных (успешная или неудачная, если она состоялась) зависят от следующих параметров:
- От выбранной пользователем операции передачи, которую поддерживают и
DragSource, иDropTarget: копирование, перемещение или ссылка. - От пересечения множества типов данных, предоставляемых
DragSource, с множеством типов данных, которые может обработатьDropTarget. - Когда пользователь завершает операцию перетаскивания, обычно успешно завершающуюся сбросом, и
DragSource, иDropTargetполучают уведомления, содержащие информацию, связанную сDragSource, и приводящие к согласованию типов и передаче этой информации через объектTransferable.
- Начиная с:
- 1.2
| Класс | Описание |
|---|---|
| Autoscroll | Во время операций DnD пользователь может захотеть сбросить объект операции в область прокручиваемого элемента управления графического интерфейса, которая в данный момент ему не видна. |
| DnDConstants | Этот класс содержит константы, представляющие тип действия или действий, выполняемых при перетаскивании. |
| DragGestureEvent | Объект DragGestureEvent передается методу dragGestureRecognized() объекта DragGestureListener, когда определенный DragGestureRecognizer обнаруживает, что на отслеживаемом им Component произошел зависящий от платформы жест, инициирующий перетаскивание. |
| DragGestureListener | Интерфейс прослушивателя для получения событий жеста перетаскивания. |
| DragGestureRecognizer | DragGestureRecognizer — это абстрактный базовый класс для определения зависящего от платформы прослушивателя, который можно связать с определенным Component, чтобы распознавать зависящие от платформы жесты, инициирующие перетаскивание. |
| DragSource | DragSource — это сущность, отвечающая за инициирование операции перетаскивания; ее можно использовать в нескольких сценариях: один экземпляр по умолчанию на протяжении всего времени существования каждой JVM. |
| DragSourceAdapter | Абстрактный класс-адаптер для получения событий источника перетаскивания. |
| DragSourceContext | Класс DragSourceContext отвечает за управление стороной инициатора в протоколе перетаскивания. |
| DragSourceDragEvent | Событие DragSourceDragEvent передается от DragSourceContextPeer через DragSourceContext объекту DragSourceListener, зарегистрированному для этого DragSourceContext и связанного с ним DragSource. |
| DragSourceDropEvent | Событие DragSourceDropEvent передается от DragSourceContextPeer через DragSourceContext методу dragDropEnd объектов DragSourceListener, зарегистрированных для этого DragSourceContext и связанного с ним DragSource. |
| DragSourceEvent | Этот класс является базовым для DragSourceDragEvent и DragSourceDropEvent. |
| DragSourceListener | DragSourceListener определяет интерфейс событий для инициаторов операций перетаскивания: он позволяет отслеживать состояние жеста пользователя и обеспечивать соответствующую обратную связь «при перетаскивании» на протяжении всей операции. |
| DragSourceMotionListener | Интерфейс прослушивателя для получения событий перемещения мыши во время операции перетаскивания. |
| DropTarget | DropTarget связывается с Component, когда этот Component желает принимать сбрасываемые объекты во время операций перетаскивания. |
| DropTarget.DropTargetAutoScroller | Этот защищенный вложенный класс реализует автоматическую прокрутку. |
| DropTargetAdapter | Абстрактный класс-адаптер для получения событий цели сброса. |
| DropTargetContext | Объект DropTargetContext создается всякий раз, когда логический указатель, связанный с операцией перетаскивания, совпадает с видимой геометрической областью Component, связанного с DropTarget. |
| DropTargetDragEvent | Событие DropTargetDragEvent передается объекту DropTargetListener через его методы dragEnter() и dragOver(). |
| DropTargetDropEvent | Событие DropTargetDropEvent передается через метод drop() объекта DropTargetListener. |
| DropTargetEvent | DropTargetEvent — базовый класс для DropTargetDragEvent и DropTargetDropEvent. |
| DropTargetListener | Интерфейс DropTargetListener — это интерфейс обратного вызова, используемый классом DropTarget для уведомления об операциях DnD, связанных с объектом DropTarget. |
| InvalidDnDOperationException | Это исключение выбрасывается различными методами пакета java.awt.dnd. |
| MouseDragGestureRecognizer | Этот абстрактный подкласс DragGestureRecognizer определяет DragGestureRecognizer для жестов, выполняемых мышью. |
© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/dnd/package-summary.html