JTree Drag and Drop

JTree Drag and Drop
rizon
  • Rejestracja:ponad 15 lat
  • Ostatnio:ponad 3 lata
0

Cześć,

Mam pewien problem, może ktos z forum byłby w stanie mi pomóc. Otóz próbuję zrobić drag and drop na JTree. w JTree mam elementy, które należą do mojej własnej klasy i problem jest taki, że jak używam przykładów z tutoriali to tam wszędzie używane jest DefaultMutableTreeNode, a ja zamiast tego mam moja własną klasę i jak zastosowałem ten tutorial:
http://www.java2s.com/Code/Java/Swing-JFC/DnDdraganddropJTreecode.htm

jak uruchomię aplikację i chcę przenieść element w inne miejsce to dostaje exception:
java.lang.ClassCastException: MyClass cannot be cast to javax.swing.tree.DefaultMutableTreeNode.

Problem polega na tym, że np w tym miejscu:

Kopiuj
TreePath p = (TreePath) tr.getTransferData(flavors[i]);
DefaultMutableTreeNode node = (DefaultMutableTreeNode) p.getLastPathComponent();

Nie jestem w stanie zrzutować klasy, która znajduje się w drzewie na klasę DefaultMutabletreeNode i nie działa mi drag and drop.

Bardzo proszę o pomoc. Siedzę przy tym trzeci dzień :/

Pozdrawiam
rizon

edytowany 3x, ostatnio: rizon
bakeraw2
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 5 lat
  • Postów:400
0

Nie wczytywałem się, ale na moje oko Twoja klasa MyClass powinna rozszerzać DefaultMutableTreeNode.

rizon
  • Rejestracja:ponad 15 lat
  • Ostatnio:ponad 3 lata
0

Właśnie chodzi mi o nie uzywanie rozszerzania mojej klasy. Ostatecznie udało mi sie to zrobić używając tego kodu:
http://stackoverflow.com/questions/4588109/drag-and-drop-nodes-in-jtree

Ale mam taki problem teraz, że dostaje NullpointerException jak robie draand drop i nie puszczam na węźle tylko między węzłami. Dostaje Nullpointer w funkcjach wbudowanych np. Vector.java i nie mam możliwości, aby go przechwycić, on się wyrzuca pomimo uzycia try catch... ma ktos może jakis pomysł jak sobie w takiej sytuacji poradzić?

KA
jak po samym stack trace nie jesteś w stanie się zorientować to zacznij debugować.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.