Grazie, esempio molto interessante ma se seguissi esattamente questa strada dovrei rendere statica (scrivere io a manina il codice ) scrivendo per tutte i nodi e foglie dell'albero
( in realtà solo le foglie) una cosa del genere

...new DefaultMutableTreeNode(new miaclassse());

e poi nel listener dell'evento ValueChanged una cosa simile a

Object nodeInfo = node.getUserObject();
if (node.isLeaf() && nodeInfo.toString()=="miaclasse") {
miaclasse A = (miaclasse)nodeInfo;
}

io vorrei che l'albero fosse costruito leggendo una tabella del db in cui sulle foglie ho l'indicazione di quale classe instanziare