DataFlavors между 2 JTrees (Java) - PullRequest
       22

DataFlavors между 2 JTrees (Java)

0 голосов
/ 03 августа 2011

Может ли кто-нибудь помочь мне разрешить DataFlavor из одного дерева в другое?Я следовал нескольким учебникам, и у меня есть перетаскивание, работающее в двух деревьях, однако я хотел бы иметь возможность перетаскивать их между собой.

Это та часть, которая вызывает исключение в моемпереопределенный метод importData;

try {  
        Transferable t = support.getTransferable();  
        nodes = (MyNode[])t.getTransferData(nodesFlavor);  
} catch(UnsupportedFlavorException ufe) {  
        System.out.println("UnsupportedFlavor: " + ufe.getMessage());  
} catch(java.io.IOException ioe) {  
        System.out.println("I/O error: " + ioe.getMessage());  
}

Выдается исключение:

UnsupportedFlavor: application / x-java-jvm-local-objectref

Любая помощь будет принята с благодарностью.

Приветствия,

Шон

1 Ответ

1 голос
/ 03 августа 2011

Вам необходимо реализовать пользовательский TransferHandler.Начиная с Java-учебник ,

Список, таблица и дерево не поддерживают удаление по умолчанию.Причина этого заключается в том, что не существует универсального способа справиться с падением этих компонентов.... Хотя Swing не может обеспечить реализацию по умолчанию для этих компонентов, платформа для отбрасывания есть.Вам нужно только предоставить пользовательский TransferHandler, который управляет фактическим импортом данных. "

Если вы экспортируете только имена узлов дерева в виде строк, это должно быть довольно просто.этот учебник для получения информации о том, как это сделать. Если вы пытаетесь экспортировать объект, вам также потребуется создать собственную реализацию Transferable.

...