Spec-Zone .ru
спецификации, руководства, описания, API
|
TransferSupport
class, один из внутренних классов TransferHandler
class, представленный в JDK 6, служит двум функциям. Как имя предполагает, его первая функция должна поддерживать процесс переноса, и с этой целью это обеспечивает несколько служебных методов, используемых, чтобы получить доступ к деталям передачи данных. Следующий список показывает методы, которые могут использоваться, чтобы получить информацию из TransferHandler
. Несколько из этих методов связываются, чтобы отбросить действия, которые будут обсуждены в
Component getComponent()
— Этот метод возвращает целевой компонент передачи.int getDropAction()
COPY
, MOVE
или LINK
) когда передача является отбрасыванием. Если передача не является отбрасыванием, этот метод выдает исключение.int getUserDropAction()
ACTION_LINK
действие. Для получения дополнительной информации по пользовательским действиям отбрасывания см. API для DropTargetDragEvent
int getSourceDropActions()
DataFlavor[] getDataFlavors()
boolean isDataFlavorSupported(DataFlavor)
DataFlavor
поддерживается. DataFlavor
imageFlavor
), строка (stringFlavor
), список файлов (javaFileListFlavor
), и так далее.Transferable getTransferable()
Transferable
данные для этой передачи. Более эффективно использовать один из этих методов, чтобы запросить информацию о передаче чем выбрать передаваемое и запросить это, таким образом, этот метод не рекомендуется, если невозможно получить информацию иначе.DropLocation getDropLocation()
JList
компонент возвращает индексирование в списке, где отбрасывание произошло. Если передача не является отбрасыванием, этот метод выдает исключение.Теперь, когда Вы знакомы с TransferSupport
служебные методы, давайте смотреть на выборку canImport
и importData
методы:
public boolean canImport(TransferSupport supp) { // Check for String flavor if (!supp.isDataFlavorSupported(stringFlavor)) { return false; } // Fetch the drop location DropLocation loc = supp.getDropLocation(); // Return whether we accept the location return shouldAcceptDropLocation(loc); } public boolean importData(TransferSupport supp) { if (!canImport(sup)) { return false; } // Fetch the Transferable and its data Transferable t = supp.getTransferable(); String data = t.getTransferData(stringFlavor); // Fetch the drop location DropLocation loc = supp.getDropLocation(); // Insert the data at this location insertAt(loc, data); return true; }
Затем мы смотрим на то, как можно установить режим отбрасывания для выбранных компонентов.