Java - Ordenar jTable

 
Vista:
sin imagen de perfil

Ordenar jTable

Publicado por Javier (1 intervención) el 19/05/2014 17:12:31
Hola buenas tardes,

tengo un problema, tengo una jTabla en una aplicación Java, a la cual le he puesto:
1
2
3
TableModel modelo = jTable1.getModel();
TableRowSorter<TableModel> elQueOrdena = new TableRowSorter<TableModel>(modelo);
jTable1.setRowSorter(elQueOrdena);

Para que se ordene al pinchar en cada cabecera.
La tabla muestra datos de clientes, tal que hay un "Código Cliente" (int), "Nombre"(String)...
Cuando pincho en ordenar por nombre por ejemplo, funciona a la perfección pero si pincho en ordenar por código de cliente no ordena correctamente.
Me explico, tengo 12 clientes (del 1-12), al pinchar en que ordene por código de cliente, se ordenan tal que así:
Codigo - Cliente - Nombre - Apellidos
1 - Pepe - Ruiz
10 - Javier - Fernández
11 - Federico - Pérez
2 - Xabi - Alonso
3 - Andres - Iniesta

Me lo ordena por el primer carácter, que debo hacer? se os ocurre algo?

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jhonnathan Emilio Cardona Saineda

Ordenar jTable

Publicado por Jhonnathan Emilio Cardona Saineda (328 intervenciones) el 19/05/2014 18:12:42
Hola,
En este ejemplo se muestra como se ordena una columna por numeros (int) y la otra columna por cadenas (String).
http://chuwiki.chuidiang.org/index.php?title=JTable:_Ordenar_y_filtrar_filas
Creo que la parte específica que necesitas es
1
2
3
4
5
6
7
8
DefaultTableModel modelo = new DefaultTableModel() {
			@Override
			public Class getColumnClass(int columna) {
				if (columna == 1)
					return Integer.class; //Le dice al modelo que la primera columna es de tipo integer
				return String.class; //Si no, es String
			}
};
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar