Hi
Ich versuche mich seit einiger Zeit an dem Tree und TreeItem Objekten und hab hier ein kleines Problem. Jedem TreeItem hänge ich ein Object mit TreeItem.setData an. Soweit so gut, allerdings geht das verloren, wenn ich drag and drop benutze.
In meiner "drop" methode erstelle ich mein neues TreeItem und will dazu natürlich die Informationen von dem "drag" object benutzen. Mit dem Namen geht das auch, aber das Objekt bekomme ich nicht raus.
Das Objekt "Computer" hat unteranderem eine Methode "getName", die mir einen String zurück gibt.
Hier der etwas vereinfachte code :
Wie ich schon im quelltext geschrieben habe ist mein Versuch das Object da rauszubekommen nicht von Erfolg gekrönt. Ich bekomme mit dem Weg eine ClassCastException.
Laut Javadoc ist wohl "currentDataType" die Lösung, aber wie bekomme ich da mein Computer Objekt raus ?
mcbass
Ich versuche mich seit einiger Zeit an dem Tree und TreeItem Objekten und hab hier ein kleines Problem. Jedem TreeItem hänge ich ein Object mit TreeItem.setData an. Soweit so gut, allerdings geht das verloren, wenn ich drag and drop benutze.
In meiner "drop" methode erstelle ich mein neues TreeItem und will dazu natürlich die Informationen von dem "drag" object benutzen. Mit dem Namen geht das auch, aber das Objekt bekomme ich nicht raus.
Das Objekt "Computer" hat unteranderem eine Methode "getName", die mir einen String zurück gibt.
Hier der etwas vereinfachte code :
Code:
public void drop (DropTargetEvent event) {
if (event.data == null) {
event.detail = DND.DROP_NONE;
return;
}
// hier hole ich den name
String text = (String) event.data;
System.out.println("Name des drag objectes "+ text);
// Das liefert eine ClassCastException
Computer x = (Computer ) event.data;
System.out.println("Computer Name : " + x.getName());
}
Wie ich schon im quelltext geschrieben habe ist mein Versuch das Object da rauszubekommen nicht von Erfolg gekrönt. Ich bekomme mit dem Weg eine ClassCastException.
Laut Javadoc ist wohl "currentDataType" die Lösung, aber wie bekomme ich da mein Computer Objekt raus ?
mcbass