Java - alinear valores de JTable

 
Vista:

alinear valores de JTable

Publicado por cecilia (73 intervenciones) el 25/06/2009 14:17:41
Hola estoy utilizando una jTable, y por defecto cuando la construyo me alinea todos los valores a izquierda lo que necesito que TODOS lo valores se alinien a la derecha. estuve probando pero no he podido hacerlo....

Si algguein me ayuda ....Gracias!
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

RE:alinear valores de JTable

Publicado por James (207 intervenciones) el 25/06/2009 22:20:39
Pues depende si quieres la alineacion para edicion o para visializacion, si es para visualizacion es facil, para edicion no es dificil pero un poco mas de codigo, bueno

Primero una pequeña explicacion de lo que acabo de decir, un JTable para sus celdas posee dos componentes un render(como se ve) y un editor(como funciona), por defecto el render en un label y el editor un TextField, para poder modificar esto deberias crer tu propio render y/o editor y asignarlo a las celdas que requieras, algo asi

TableCellRenderer render = new DefaultTableCellRenderer() {

public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
//aqui obtengo el render de la calse superior
JLabel l = (JLabel)super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
//Alineo, puedes alinear cambiar fondo etc, solo seria cuention de validar fia, columna
//si esta seleccionana, depende de tu necesidad
l.setHorizontalAlignment(SwingConstants.RIGHT);
if(hasFocus)
l.setForeground(Color.RED);
else
l.setForeground(Color.BLACK);
return l;
}
};
//Agrego el render, coo ves el mismo esta en mas de una columna
table.getColumnModel().getColumn(1).setCellRenderer(render);
table.getColumnModel().getColumn(2).setCellRenderer(render);

//Ahora el editor, solo usare los editores soportados por defecto, de igual forma se puede
//hacer una clase priopia para el edito pero eso te lo dejo a ti si lo necesitas
JTextField t = new JTextField();
t.setHorizontalAlignment(SwingConstants.RIGHT);
// se crea el editor con un tipo que soporta por defecto
table.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(t));
table.getColumnModel().getColumn(2).setCellEditor(new DefaultCellEditor(t));

Como veras es muy facil y sencillo de implementar, pero en base a ello se puede hacer cosas muy interesante y tablas realmente dinamicas, si te surge alguna otra duda con gusto, Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

RE:alinear valores de JTable

Publicado por Francisco Peraza (1 intervención) el 04/11/2012 17:18:43
Es un explicación sencilla y muy buena, gracias por tu ejemplo
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

RE:alinear valores de JTable

Publicado por Alejandro (2 intervenciones) el 12/05/2017 05:25:35
Acabo de utilizar tu respuesta para aclarar mis dudas, 8 años después. Muchas gracias.
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