toString()
oder nen eigenen Renderer für diese Klasse machen.
tree.addTreeSelectionListener(new TreeSelectionListener() {
@Override
public void valueChanged(TreeSelectionEvent e) {
System.out.println("der ausgewählte komponente: "+e.getPath().getLastPathComponent().toString());
System.out.println(e.getPath().getLastPathComponent().getClass());
}
});
der ausgewählte komponente: db.beans.Auftragsbestandteile@1496793
class gui.Gui$11
protected void setJTreeAufträge() {
int xx = -1;
int aufID;
// CustomTreeModel1 treeModel=null;
DefaultTreeModel treeModel = null;
DefaultMutableTreeNode treeNode = new DefaultMutableTreeNode("KundenNr");
DefaultMutableTreeNode node_1 = null;
DefaultMutableTreeNode node_2 = null;
DefaultMutableTreeNode node_3;
for (Iterator<Integer[]> iterator = posMarker.iterator(); iterator
.hasNext();) {
Integer[] integers = (Integer[]) iterator.next();
aufID = integers[0];
Auftragsbestandteile a = auf[integers[1]];
if (xx != aufID) {
xx = aufID;
node_1 = new DefaultMutableTreeNode(" Auftrag: "
+ a.getAuftragsdatum() + " AuftragsID: "
+ a.getId().getAuftragIdAufträge());
}
node_2 = new DefaultMutableTreeNode("Bestandteil: "
+ a.getId().getIdAuftragsbestandteile() + " Typ: "
+ a.getId().getTyp()) {
public String toString() {
if (userObject == null) {
return null;
} else {
return "Meine Object Bezeichnung!!";
// return userObject.toString();
}
}
};
// node_2 = new DefaultMutableTreeNode("Bestandteil: ");
// a.setText("ProduktTyp: "+a.getId().getTyp()+" Produktteile: "+a.getId().getIdAuftragsbestandteile());
node_2.setUserObject(a);
node_1.add(node_2);
treeNode.add(node_1);
}
// treeModel = new DefaultTreeModel(treeNode);
treeModel = new DefaultTreeModel(treeNode);
getTree().setModel(treeModel);
}
node_2 = new DefaultMutableTreeNode("Bestandteil: "
+ a.getId().getIdAuftragsbestandteile() + " Typ: "
+ a.getId().getTyp()) {
public String toString() {
if (userObject == null) {
return null;
} else {
return "Meine Object Bezeichnung!!";
// return userObject.toString();
}
}
};
Genau das mache ich jetzt.Das dürfte der Übeltäter sein:
Es könnte auch die Klasse Auftragsbestandteile als dein UserObject dienen. Dann überschreib dort die toString Methode und übergib einfach die Auftragsbestandteile direkt ins DefaultMutableTreeNode