hola a todos tengo un JLIst el cual lleno con un código similar a este:
Código HTML:
while(itera.hasNext()){
Registro aux=(Registro)(itera.next());
modelo.addElement("<html><font color=blue>"+(ind++)+"</font>. <b>Nombre:</b> <i>"+tabular(aux.getNombre())+
"</i> <b>Código:</b> <i>"+tabular(aux.getCodigo())+
"</i> <b>Porcentaje obtenido:</b> "+formato.format(aux.getPorcentaje())+
"</i> <b>Nota(1 a 5):</b> "+formato.format(aux.getNota)+"</html>");
}
donde modelo es un objeto DefaultListModel asociado al JLIst para facilitar las tareas de agregación , eliminación...etc...
el método tabular que aparece allí: tiene la tarea de ajustar todos los string a un mismo tamaño de 16 caracteres, pues siendo todos los String iguales puedo tener una lista con los nombres y demas alineados, así:
Código:
nombre: juan porcentaje 52% nota 3.4
nombre: mariano porcentaje 65% nota 4.2
nombre: maria porcentaje 20% nota 2.0
y el metodo tabular es este:
Código HTML:
public String tabular(String nombre){
String r=nombre+"<font color=white>";
int nCaracteres=nombre.length();
for(int i=nCaracteres;i<16;i++){
r+=".";
}
r+="</font>";
return r;
}
inicialmente me puse a concatenarle espacios en blanco por delante del string, pero no los reconocia el JLIst, así que invente concatenarle puntos y luego corresponder el color de los dichos puntos con el blanco de fondo del JList, todo iva de maravilla, pero al probarlo me doy cuenta de que no es posible obtener alineado todos los nombres pues hay unos caracteres que utilizan menos espacio ejemplo(nombres inventados):
Amberto
Milenai
ambos tienen 7 caracteres pero Milenai ocupa menos espacio, así que a pesar de que mi método funciona bien la lista queda así:
Código:
nombre: juan porcentaje 52% nota 3.4
nombre: Amberto porcentaje 65% nota 4.2
nombre: Milenai porcentaje 20% nota 2.0
pues casí lo logro :(,,
ideas
¿Como logro alinear en un jList?
¿mi método tabular fue un fracaso?
ojala que alguien sepa como
a que si son capacez :P
saludoss...