Non è che sia propriamente un casino, è solo che bisogna conoscere il modo in cui lavora un JTree.
Come molti altri componenti, JTree sfrutta un "renderer" per la visualizzazione dei suoi elementi. Questo renderer decide come l'elemento deve essere "disegnato a video".

Quindi, è sufficiente creare un apposito renderer che, a seconda di una qualche condizione che conosci tu, decide se colorare il suo componente di un colore piuttosto che un altro.

Alcuni link utili:

La documentazione di JTree, dove trovi il metodo setCellRenderer.

La documentazione di TreeCellRenderer, la classe da usare per creare un renderer.

Il tutorial ufficiale (How To Use Trees), che spiega anche come personalizzare le visualizzazioni in un JTree.


Ciao.