Spec-Zone.ru › OpenJDK 8

Класс TransferHandler

  • java.lang.Object
    • javax.swing.TransferHandler
Все реализованные интерфейсы:
Serializable

public class TransferHandler
extends Object
implements Serializable

Этот класс используется для обработки передачи данных между компонентами Swing. Данные, которые передаются посредством вырезания, копирования или вставки из/в буфер обмена, представлены объектом Transferable. Также используется в операциях перетаскивания для представления перетаскивания из компонента и опускания в компонент. Swing предоставляет функциональность, автоматически поддерживающую сочетания клавиш для вырезания, копирования и вставки, использующие функциональность, реализованную в этом классе. Swing также предоставляет функциональность, автоматически поддерживающую перетаскивание, использующую функциональность, реализованную в этом классе. Разработчик Swing может сконцентрироваться на определении семантики передачи, в основном, установив свойство transferHandler на компоненте Swing.

Этот класс реализован для предоставления стандартного поведения передачи свойства компонента путём простого указания имени свойства в конструкторе. Например, чтобы передать цвет переднего плана с одного компонента на другой, либо через буфер обмена, либо операцию перетаскивания, можно создать объект TransferHandler со строкой "foreground". Встроенная поддержка будет использовать цвет, возвращаемый getForeground, в качестве источника передачи и setForeground для назначения передачи.

Для получения дополнительной информации см. Как использовать перетаскивание и передачу данных, раздел в Руководстве Java.

С момента:
1.4

Вложенные классы

Модификатор и тип Класс и описание
static class  TransferHandler.DropLocation

Представляет место, куда следует вставить перетащенные данные.

static class  TransferHandler.TransferSupport

Этот класс инкапсулирует все необходимые детали передачи через буфер обмена или перетаскивания, а также позволяет настраивать аспекты опыта перетаскивания.

Поля

Модификатор и тип Поле и описание
static int COPY

Объект, представляющий действие передачи "копировать".

static int COPY_OR_MOVE

Объект, представляющий возможность действия источника "копировать" или "переместить".

static int LINK

Объект, представляющий действие передачи "ссылка".

static int MOVE

Объект, представляющий действие передачи "переместить".

static int NONE

Объект, представляющий отсутствие действия передачи.

Конструкторы

Модификатор Конструктор и описание
protected TransferHandler()

Удобный конструктор для подклассов.

TransferHandler(String property)

Создаёт обработчик передачи, который может передавать свойство Java Bean с одного компонента на другой через буфер обмена или операцию перетаскивания.

Методы

Модификатор и тип Метод и описание
boolean canImport(JComponent comp, DataFlavor[] transferFlavors)

Указывает, будет ли компонент принимать импорт заданного набора типов данных перед фактической попыткой импорта.

boolean canImport(TransferHandler.TransferSupport support)

Этот метод вызывается многократно во время операции перетаскивания, чтобы позволить разработчику настроить свойства и возвращать приемлемость передач; возвращаемое значение true указывает, что передача, представленная данным TransferSupport (содержащим все детали передачи), приемлема в данный момент, а значение false отклоняет передачу.

protected Transferable createTransferable(JComponent c)

Создаёт объект Transferable для использования в качестве источника передачи данных.

void exportAsDrag(JComponent comp, InputEvent e, int action)

Инициирует поддержку перетаскивания Swing.

protected void exportDone(JComponent source, Transferable data, int action)

Вызывается после экспорта данных.

void exportToClipboard(JComponent comp, Clipboard clip, int action)

Вызывает передачу данных из заданного компонента в заданный буфер обмена.

static Action getCopyAction()

Возвращает объект Action, который выполняет операции копирования в буфер обмена.

static Action getCutAction()

Возвращает объект Action, который выполняет операции вырезания в буфер обмена.

Image getDragImage()

Возвращает изображение для перетаскивания.

Point getDragImageOffset()

Возвращает смещение якоря для изображения при перетаскивании.

static Action getPasteAction()

Возвращает объект Action, который выполняет операции вставки из буфера обмена.

int getSourceActions(JComponent c)

Возвращает тип действий передачи, поддерживаемых источником; любая комбинация побитового ИЛИ COPY, MOVE и LINK.

Icon getVisualRepresentation(Transferable t)

Возвращает объект, который задаёт внешний вид передачи.

boolean importData(JComponent comp, Transferable t)

Вызывает передачу в компонент из буфера обмена или операции перетаскивания.

boolean importData(TransferHandler.TransferSupport support)

Вызывает передачу из буфера обмена или операции перетаскивания.

void setDragImage(Image img)

Устанавливает параметр изображения для перетаскивания.

void setDragImageOffset(Point p)

Устанавливает смещение якоря для изображения при перетаскивании.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Поля

NONE

public static final int NONE

An int representing no transfer action.

См. также:
Constant Field Values

COPY

public static final int COPY

An int representing a "copy" transfer action. This value is used when data is copied to a clipboard or copied elsewhere in a drag and drop operation.

См. также:
Constant Field Values

MOVE

public static final int MOVE

An int representing a "move" transfer action. This value is used when data is moved to a clipboard (i.e. a cut) or moved elsewhere in a drag and drop operation.

См. также:
Constant Field Values

COPY_OR_MOVE

public static final int COPY_OR_MOVE

An int representing a source action capability of either "copy" or "move".

См. также:
Constant Field Values

LINK

public static final int LINK

An int representing a "link" transfer action. This value is used to specify that data should be linked in a drag and drop operation.

С версии:
1.6
См. также:
DnDConstants.ACTION_LINK, Constant Field Values

Конструкторы

TransferHandler

public TransferHandler(String property)

Создаёт обработчик передачи, который может передавать свойство Java Bean из одного компонента в другой через буфер обмена или операцию перетаскивания.

Параметры:
property - имя свойства для передачи; это может быть null если нет свойства, связанного с обработчиком передачи (например, подкласс, который выполняет другой тип передачи)

TransferHandler

protected TransferHandler()

Вспомогательный конструктор для подклассов.

Методы

getCutAction

public static Action getCutAction()

Возвращает Action, который выполняет операции вырезания в буфер обмена. При выполнении это действие работает с JComponent источником ActionEvent, вызывая exportToClipboard, с действием MOVE, на TransferHandler компонента.

Возвращает:
an Action for performing cuts to the clipboard

getCopyAction

public static Action getCopyAction()

Возвращает Action, который выполняет операции копирования в буфер обмена. При выполнении это действие работает с JComponent источником ActionEvent, вызывая exportToClipboard, с действием COPY, на TransferHandler компонента.

Возвращает:
an Action for performing copies to the clipboard

getPasteAction

public static Action getPasteAction()

Возвращает Action, который выполняет операции вставки из буфера обмена. При выполнении это действие работает с JComponent источником ActionEvent, вызывая importData, с содержимым буфера обмена, на TransferHandler компонента.

Возвращает:
an Action for performing pastes from the clipboard

setDragImage

public void setDragImage(Image img)

Устанавливает параметр изображения перетаскивания. Изображение должно быть подготовлено для рендеринга к моменту вызова. Изображение хранится по ссылке из-за некоторых проблем с производительностью.

Параметры:
img - изображение для перетаскивания

getDragImage

public Image getDragImage()

Возвращает изображение перетаскивания. Если нет изображения для перетаскивания, возвращаемое значение равно null.

Возвращает:
ссылку на изображение перетаскивания

setDragImageOffset

public void setDragImageOffset(Point p)

Устанавливает смещение якоря для изображения перетаскивания. Оно не может быть null.

Параметры:
p - объект Point, который соответствует координатам смещения якоря изображения относительно левого верхнего угла изображения

getDragImageOffset

public Point getDragImageOffset()

Возвращает смещение якоря для изображения перетаскивания.

Возвращает:
объект Point, который соответствует координатам смещения якоря изображения относительно левого верхнего угла изображения. Точка (0,0) возвращается по умолчанию.

exportAsDrag

public void exportAsDrag(JComponent comp,
                         InputEvent e,
                         int action)

Инициирует поддержку перетаскивания Swing. Это вызывается различными реализациями пользовательского интерфейса в пакете javax.swing.plaf.basic, если свойство dragEnabled установлено для компонента. Это может быть вызвано пользовательскими реализациями пользовательского интерфейса для использования поддержки перетаскивания Swing. Этот метод также может быть вызван расширением Swing, написанным как подкласс JComponent, чтобы воспользоваться преимуществами поддержки перетаскивания Swing.

Передача не обязательно будет завершена при возврате этого вызова (т. е. вызов не блокируется в ожидании перетаскивания). Передача будет осуществляться через реализацию Swing механизма java.awt.dnd, не требуя дополнительных усилий от разработчика. Метод exportDone будет вызван после завершения передачи.

Параметры:
comp - компонент, содержащий данные, которые необходимо передать; предоставлено для обеспечения совместного использования TransferHandlers
e - событие, которое инициировало передачу
action - действие передачи, первоначально запрошенное; либо COPY, MOVE или LINK; система DnD может изменить используемое действие в ходе операции перетаскивания

exportToClipboard

public void exportToClipboard(JComponent comp,
                              Clipboard clip,
                              int action)
                       throws IllegalStateException

Вызывает передачу из данного компонента в данный буфер обмена. Этот метод вызывается действиями вырезания и копирования по умолчанию, зарегистрированными в карте действий компонента.

Передача будет осуществляться с использованием механизма java.awt.datatransfer, не требуя дополнительных усилий от разработчика. Любая передача данных будет завершена, и метод exportDone будет вызван с произошедшим действием, прежде чем этот метод вернёт значение. Если буфер обмена недоступен при попытке размещения данных в нём, IllegalStateException, вызванный Clipboard.setContents(Transferable, ClipboardOwner), будет распространяться через этот метод. Однако, exportDone будет сначала вызван с действием NONE для согласованности.

Параметры:
comp - компонент, содержащий данные, которые необходимо передать; предоставлено для обеспечения совместного использования TransferHandlers
clip - буфер обмена для передачи данных
action - запрошенное действие передачи; это должно быть значением либо COPY, либо MOVE; выполненная операция представляет собой пересечение возможностей передачи, заданных getSourceActions, и запрошенного действия; пересечение может привести к действию NONE, если запрошенное действие не поддерживается
Исключения:
IllegalStateException - если буфер обмена в данный момент недоступен
См. также:
Clipboard.setContents(Transferable, ClipboardOwner)

importData

public boolean importData(TransferHandler.TransferSupport support)

Вызывает выполнение передачи из буфера обмена или операции перетаскивания. Transferable, который необходимо импортировать, и компонент для передачи содержатся в TransferSupport.

Хотя реализация перетаскивания вызывает canImport для определения пригодности передачи перед вызовом этого метода, реализация вставки этого не делает. Таким образом, нельзя предполагать, что передача приемлема при вызове этого метода для вставки. Рекомендуется явно вызвать canImport для этого случая.

Примечание: объект TransferSupport, переданный этому методу, действителен только в течение времени вызова метода. Не определено, какие значения он может содержать после возврата этого метода.

Параметры:
support - объект, содержащий подробные сведения о передаче, не null.
Возвращает:
true, если данные были вставлены в компонент, false в противном случае
Исключения:
NullPointerException - если support является null
С версии:
1.6
См. также:
canImport(TransferHandler.TransferSupport)

importData

public boolean importData(JComponent comp,
                          Transferable t)

Вызывает передачу в компонент из буфера обмена или операции перетаскивания. Transferable представляет данные, которые необходимо импортировать в компонент.

Примечание: Swing теперь вызывает более новую версию importData, которая принимает TransferSupport, которая, в свою очередь, вызывает этот метод (если компонент в TransferSupport является JComponent). Разработчикам рекомендуется вызывать и переопределять более новую версию, поскольку она предоставляет больше информации (и является единственной версией, которая поддерживает использование с TransferHandler, установленным непосредственно на JFrame или другом не-JComponent).

Параметры:
comp - компонент для получения передачи; предоставлено для обеспечения совместного использования TransferHandlers
t - данные для импорта
Возвращает:
true, если данные были вставлены в компонент, false в противном случае
См. также:
importData(TransferHandler.TransferSupport)

canImport

public boolean canImport(TransferHandler.TransferSupport support)

Этот метод вызывается многократно во время операции перетаскивания и позволяет разработчику настроить свойства и определить приемлемость перемещений; возвращаемое значение true указывает, что перемещение, представленное заданным TransferSupport (который содержит все детали перемещения), приемлемо в данный момент, а значение false отклоняет перемещение.

Для тех компонентов, которые автоматически отображают местоположение для опускания во время перетаскивания, принятие перемещения по умолчанию сообщает им отобразить местоположение опускания. Это можно изменить, вызвав setShowDropLocation в TransferSupport.

По умолчанию, когда перемещение принимается, выбранное действие опускания - то, которое выбрал пользователь с помощью жеста перетаскивания. Разработчик может переопределить это и выбрать другое действие из поддерживаемых действий источника, вызвав setDropAction в TransferSupport.

При каждом вызове canImport объект TransferSupport содержит актуальное состояние. Поэтому любые свойства, установленные на нём, должны быть установлены при каждом вызове. При опускании canImport вызывается один раз перед вызовом importData. Любое состояние, установленное на TransferSupport во время этого последнего вызова, будет доступно в importData.

Этот метод не вызывается внутри в ответ на операции вставки. Поэтому рекомендуется, чтобы реализации importData явно вызывали этот метод в таких случаях и что этот метод был готов возвращать пригодность операций вставки.

Примечание: объект TransferSupport , переданный этому методу, действителен только в течение вызова метода. Неопределено, какие значения он может содержать после возврата этого метода.

Параметры:
support - объект, содержащий детали перемещения, а не null.
Возвращает:
true если импорт может произойти, false в противном случае
Выбрасывает:
NullPointerException - если support имеет значение null
С:
1.6
См. также:
importData(TransferHandler.TransferSupport), TransferHandler.TransferSupport.setShowDropLocation(boolean), TransferHandler.TransferSupport.setDropAction(int)

canImport

public boolean canImport(JComponent comp,
                         DataFlavor[] transferFlavors)

Указывает, будет ли компонент принимать импорт заданного набора типов данных перед фактической попыткой импорта.

Примечание: Swing теперь вызывает новую версию canImport , которая принимает TransferSupport, которая в свою очередь вызывает этот метод (только если компонент в TransferSupport является JComponent). Разработчикам рекомендуется вызывать и переопределять новую версию, так как она предоставляет больше информации (и является единственной версией, поддерживающей использование с TransferHandler, заданным непосредственно в JFrame или другом не-JComponent).

Параметры:
comp - компонент, который получит перемещение; предоставлен для обеспечения совместного использования TransferHandler
transferFlavors - доступные форматы данных
Возвращает:
true, если данные могут быть вставлены в компонент, false в противном случае
См. также:
canImport(TransferHandler.TransferSupport)

getSourceActions

public int getSourceActions(JComponent c)

Возвращает тип действий перемещения, поддерживаемых источником; любая комбинация побитового ИЛИ COPY, MOVE и LINK.

Некоторые модели не изменяемы, поэтому операция перемещения MOVE не должна рекламироваться в этом случае. Возврат NONE отключает перемещения из компонента.

Параметры:
c - компонент, содержащий данные, которые будут перемещены; предоставлен для обеспечения совместного использования TransferHandler
Возвращает:
COPY если свойство перемещения найдено, в противном случае возвращает NONE

getVisualRepresentation

public Icon getVisualRepresentation(Transferable t)

Возвращает объект, определяющий вид перемещения. Это полезно как для предоставления обратной связи во время операции перетаскивания, так и для представления перемещения в реализации буфера обмена с визуальным отображением. Реализация интерфейса Icon не должна изменять область графики или уровень альфа-каналов. Реализация иконки не обязательно должна быть прямоугольной или рисовать всю ограничивающую прямоугольную область, и логика, вызывающая метод рисования иконок, не должна предполагать рисования всех битов. null является допустимым возвращаемым значением для этого метода и указывает, что визуальное представление не предоставлено. В этом случае вызывающая логика свободна представлять передаваемое значение как хочет.

Стандартная логика Swing не будет выполнять анимацию перетаскивания с альфа-смешиванием, если возвращаемое значение null.

Параметры:
t - данные, которые будут перемещены; ожидается, что это значение было создано методом createTransferable
Возвращает:
null, указывая, что нет стандартного визуального представления

createTransferable

protected Transferable createTransferable(JComponent c)

Создаёт Transferable для использования в качестве источника для передачи данных. Возвращает представление передаваемых данных или null если свойство компонента null

Параметры:
c - компонент, содержащий данные, которые будут перемещены; предоставлен для обеспечения совместного использования TransferHandler
Возвращает:
представление передаваемых данных или null если свойство, связанное с c , имеет значение null

exportDone

protected void exportDone(JComponent source,
                          Transferable data,
                          int action)

Вызывается после передачи данных. Этот метод должен удалить данные, которые были перемещены, если действие было MOVE.

Этот метод реализован так, чтобы ничего не делать, поскольку MOVE не является поддерживаемым действием этой реализации (getSourceActions не включает MOVE).

Параметры:
source - компонент, являвшийся источником данных
data - Данные, которые были перемещены, или возможно null, если действие NONE.
action - фактическое выполненное действие

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API