|
Spec-Zone .ru
спецификации, руководства, описания, API
|
TransferSupport class, один из внутренних классов TransferHandler class, представленный в JDK 6, служит двум функциям. Как имя предполагает, его первая функция должна поддерживать процесс переноса, и с этой целью это обеспечивает несколько служебных методов, используемых, чтобы получить доступ к деталям передачи данных. Следующий список показывает методы, которые могут использоваться, чтобы получить информацию из TransferHandler. Несколько из этих методов связываются, чтобы отбросить действия, которые будут обсуждены в
Component getComponent()— Этот метод возвращает целевой компонент передачи.COPY, MOVE или LINK) когда передача является отбрасыванием. Если передача не является отбрасыванием, этот метод выдает исключение.ACTION_LINK действие. Для получения дополнительной информации по пользовательским действиям отбрасывания см. API для . Если передача не является отбрасыванием, этот метод выдает исключение.DataFlavor поддерживается. указывает на тип представленных данных, таких как изображение (imageFlavor), строка (stringFlavor), список файлов (javaFileListFlavor), и так далее.Transferable данные для этой передачи. Более эффективно использовать один из этих методов, чтобы запросить информацию о передаче чем выбрать передаваемое и запросить это, таким образом, этот метод не рекомендуется, если невозможно получить информацию иначе.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;
}
Затем мы смотрим на то, как можно установить режим отбрасывания для выбранных компонентов.