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