schuetzejanett
Erfahrenes Mitglied
Hallo,
welche Möglichkeiten, gint es in SWT einen baumpfad auszulesen. Also ich habe einen Tree (keinen Viewer) und möchte in einem String[]oder Arraylist alle Elemente vom wurzelelement bis zu dem was ich gerade doppelt angeklickt habe haben.
Zurzeit mache ich es so das ich den baum erstüber getParent nach oben hangle und git es kein parent mehr das array umspeicher also erstes element ist dann letztes element.
Mein Baum besteht nur aus string und ist immer 5 ebenen tief und genau diese 5 wrte möchte ich auch haben bin ich beim anklicken noch auf der obersten ebene sollen die anderen null sein.
Hier mein aktueller Code der mir aber wie gesagt nicht so richtig gefällt. Gibt es noch einen einfacheren weg.
welche Möglichkeiten, gint es in SWT einen baumpfad auszulesen. Also ich habe einen Tree (keinen Viewer) und möchte in einem String[]oder Arraylist alle Elemente vom wurzelelement bis zu dem was ich gerade doppelt angeklickt habe haben.
Zurzeit mache ich es so das ich den baum erstüber getParent nach oben hangle und git es kein parent mehr das array umspeicher also erstes element ist dann letztes element.
Mein Baum besteht nur aus string und ist immer 5 ebenen tief und genau diese 5 wrte möchte ich auch haben bin ich beim anklicken noch auf der obersten ebene sollen die anderen null sein.
Hier mein aktueller Code der mir aber wie gesagt nicht so richtig gefällt. Gibt es noch einen einfacheren weg.
Code:
public void widgetDefaultSelected(SelectionEvent e)
{
TreeItem item = (TreeItem) e.item;
String result = "";
String[] wahl = new String[5];
ArrayList<String> temp = new ArrayList<String>();
temp.add(item.getText());
while (!item.getParentItem().getText().equals("sinnlos"))
{
TreeItem itemPa = item.getParentItem();
item = itemPa;
temp.add(item.getText());
}
int k = 0;
result = "";
for (int j = temp.size() - 1; j >= 0; j--)
{
wahl[k] = temp.get(j);
k++;
}
}
});