CheckBoxTree - ID in DefaultTreeModel hinterlegen?

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:

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
	}
 
Hier noch die Klasse QuickTreeId
Java:
public class QuickTreeId extends DefaultMutableTreeNode {

    public int id;

    public void setId(int id) {
        this.id = id;
    }
    
    public int getId() {
        return(this.id);
    }

    public QuickTreeId(String title) {
        setUserObject(title);
    }
}
 

Neue Beiträge

Zurück