Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Formatear nodos de un Jtree

Hola a todos,
tengo un jtree e información mostrada en los nodos y me gustaría poder formatear esa información para que se viera bien tabulada de forma correcta. El problema es que como no ocupa lo mismo una i que una o siempre se me ve movido el árbol.
He estado viendo por ahí que con fontsmetric se puede hacer, pero no doy con la tecla, si alguien me pudiera echar una mano se lo agradecería.

Un saludo.

octubre 28, 2011 | Registered Commenterpupa077

No comprendo eso de "tabulada en forma correcta", y que "se ve movido el árbol".
¿Podrías poner un ejemplo de ese tipo de datos?.

octubre 28, 2011 | Unregistered Commenterchoces

Disculpas por no expresarme correctamente, cuando me refiero tabulada de forma correcta, imaginaros que el nodo contiene la informacion del nombre del archivo seguido de la fecha de creacion y el nombre de quien lo creo, cada dato separado por varios espacios en blanco para que cuando vea todos los nodos, la informacion se vea como si estuvieran en columnas, pero el problema es que como no ocupa lo mismo una i que una o, las columnas parece mas una serpiente que una columna.

Muchas gracias de nuevo y espero haberme explicado corectamente.

octubre 30, 2011 | Unregistered Commenterpupa077

Con FontMetrics puedes obtener la longitud de la cadena, para una fuente determinada; pero no creo que eso te vaya a resolver el problema. Deberías calcular cuántos espacios en blanco tendrías que añadir o quitar, en cada cadena, para compensar las diferencias de anchura de cada carácter. Todo esto relativo a la cadena anterior ya renderizada.
Supongo que, con mucha paciencia, y una cantidad considerable de tiempo de procesamiento, tal vez se lograría; aunque tengo serias dudas.

Una posible alternativa, que he usado con JList, es que renderices los nodos con un JPanel, y dentro de éste, uses tres JTextField para cada cadena, o tres JLabel si te resulta más cómodo. Así podrías encajar y tabular los datos en función de su posición en los componentes usados.

octubre 31, 2011 | Unregistered Commenterchoces