jimb0p
Erfahrenes Mitglied
Hallo Zusammen,
ich hatte das Thema bereits in dem Thread angerissen:
http://www.tutorials.de/java/397988-sortierung-jtree-defaultmutabletreenode.html
aber da es ein Thema für sich ist, habe ich mal einen neuen Thread erstellt. Ich nutze CheckBoxTree um mir einen JTree mit Checkboxen zu erstellen. Wenn ich nun Elemente in diesem Baum auswähle möchte ich bei dem Klick auf einen Button alle IDs bekommen von den ausgewählten Kategorien. Doch hier genau liegt mein Problem, ich weiß nicht wie ich dem Baummodel noch IDs mitgeben kann. Hier ist mein bisheriger Code:
ich hatte das Thema bereits in dem Thread angerissen:
http://www.tutorials.de/java/397988-sortierung-jtree-defaultmutabletreenode.html
aber da es ein Thema für sich ist, habe ich mal einen neuen Thread erstellt. Ich nutze CheckBoxTree um mir einen JTree mit Checkboxen zu erstellen. Wenn ich nun Elemente in diesem Baum auswähle möchte ich bei dem Klick auf einen Button alle IDs bekommen von den ausgewählten Kategorien. Doch hier genau liegt mein Problem, ich weiß nicht wie ich dem Baummodel noch IDs mitgeben kann. Hier ist mein bisheriger Code:
Java:
public void getAllContentForGUI(DBContent dbContentGUI){
db.getAllCategories(kategList);//hier werden alle Kategorien aus DB geholt
Kategorien root = getRootNode(config.rootKategorie, kategList);
QuickTreeId rootNode = new QuickTreeId(root.cName);
rootNode.setId(root.kKategorie);
DefaultTreeModel dtm = new DefaultTreeModel(createCategorieModel(rootNode, kategList, root));
view.setTree(dtm);
db.getMainCategories(merkmale);
db.getTMerkmalWert(merkmale);
db.getFinalMerkmale(merkmale);
}
public DefaultMutableTreeNode createCategorieModel(QuickTreeId parentNode, ArrayList<Kategorien> kategList, Kategorien root){
int id = root.getId();
for (Kategorien k : kategList)
{
if (k.getParentId() == id)
{
QuickTreeId qTreeNode = new QuickTreeId(k.cName);
qTreeNode.setId(k.kKategorie);
parentNode.add(createCategorieModel(qTreeNode, kategList, k));
}
}
return parentNode;
}
public Kategorien getRootNode(int rootId, ArrayList<Kategorien> kategList){
for(int i = 0; i < kategList.size(); i++){
if(kategList.get(i).kKategorie == rootId){
return(kategList.get(i));
}
}
return(null); //gibt null zurück wenn kein Root gefunden wurde
}