L'oggetto MutableTreeNode è un oggetto che consente al JTree di visualizzare uno UserObject. Ma tale UserObject (il tuo CheckBoxNode) è il "contenuto" del MutableTreeNode (che sarà, presumibilmente, un DefaultMutableTreeNode).
Io proverei così:
codice:
MutableTreeNode node = (MutableTreeNode)selPath.getLastPathComponent();
if( node.isLeaf() ) {
DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode) selPath.getLastPathComponent();
CheckBoxNode nodo = (CheckBoxNode) treeNode.getUserObject();
System.out.println("è una leaf" + nodo.getText());
} else {
System.out.println("è una cartella");
}
Ciao.