Cómo hacer que una JXTreeTable ordene sus elementos principales

Soy consciente (he visto las fuentes;)) que se ha deshabilitado la clasificación en JXTreeTable.

in embargo, me gustaría permitir la clasificación en todas las columnas solo en función de los valores de los hijos directos del nodo raíz.

Digo que tengo una estructura como esta:

Name       / Date       / File UID
(Root)
|- Mr. X   / 1996/10/22 / AE123F6D
|--- File1 / 2012/01/10 / DFC2345Q
|--- File2 / 2012/01/11 / D321FEC6
|- Mrs. Y  / 1975/03/03 / G2GF35EZ
|--- File3 / 2012/02/29 / 35GERR32
|--- File4 / 2012/01/22 / LKJY2342
.
.
.

Lo que quiero lograr es ordenar en las 3 columnas solo en los nodos de primer nivel. Digamos que quiero ordenarlo por fecha ascendente, terminaría así:

Name       / Date       / File UID
(Root)
|- Mrs. Y  / 1975/03/03 / G2GF35EZ
|--- File3 / 2012/02/29 / 35GERR32
|--- File4 / 2012/01/22 / LKJY2342
|- Mr. X   / 1996/10/22 / AE123F6D
|--- File1 / 2012/01/10 / DFC2345Q
|--- File2 / 2012/01/11 / D321FEC6
.
.
.

Como lo veo, se asemeja a una ordenación de tabla simple (por lo que se levanta la limitación jerárquica invocada para deshabilitar la ordenación).

Veo 2 posibilidades para hacer eso:

Vuelva a habilitar el mecanismo de clasificación disponible en JXTable para beneficiarse de todo lo que ya está implementado (clasificador, clasificación haciendo clic en los encabezados, ...) y solo clasifique los nodos del primer nivel (ya que sus hijos aún tendrían el mismo padre ). Implemente las cosas básicas que necesito (ordenar haciendo clic en los encabezados en su mayoría), tener una lista de identificadores de fila de modelo en JXSortableTreeModel que ordeno y anular convertRowIndexToModel que permitiría (creo) mostrar mi artículo ordenado como quiero. @

Mi favorito es, por supuesto, el primero, pero no sé cómo lograrlo. La primera limitación es que no sé cómo volver a habilitar la clasificación ya que JXTreeTable anula setSortable () (y todos los métodos relacionados) y no sé cómo acceder directamente a la implementación del método en JXTable (eso es un problema de Java ) Simplemente podría copiar el código de JXTreeTable y eliminar las anulaciones, pero esa no es una opción en mi opinión.

Si resuelvo esto, ¿cómo limitaría la clasificación a los nodos de primer nivel? Incluso después de mirar la fuente, no tengo ni idea de cómo hacerlo.

Con el segundo, pierdo todos los beneficios del código existente, pero veo una forma práctica de lograr lo que quiero (al menos por ahora. ¿Quién sabe si no querrá filtrar los datos en todas las filas?).

¿Hay otro camino a seguir? Si no, ¿cuál de mis soluciones debería elegir? ¿Algún comentario perspicaz?

¡Muchas gracias de antemano

Respuestas a la pregunta(4)

Su respuesta a la pregunta