RE:alinear valores de JTable
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