Java - ayuda con Jtable

 
Vista:

ayuda con Jtable

Publicado por cecilia (73 intervenciones) el 15/06/2009 15:33:15
Hola soy nueva con swing estoy intentando utilizar JTable, las he podido crear y actualizar sin ningun inconveniente el problema es que no logro cambiar el tamaño de ancho de las columnas, es decir quiero que las columnas tengan diferenta tamaño y no el mismo...

y lo otro que no logro hacer es cambiar el color de los títulos.....

Si laguien me da una mano s elos agradecería----saludos Cecilia
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:ayuda con Jtable

Publicado por James (207 intervenciones) el 15/06/2009 18:13:18
Primero deberias desactivar el autoajuste de las columnas, luego obtienes la columna y le cambias el tamaño, yo suelo hacer un metod algo asi

public boolean setColumnWidth(int columnWidth, int columnIndex) {

table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
if (columnIndex >= model.getColumnCount()) {
return false;
}
TableColumn col = table.getColumnModel().getColumn(columnIndex);
col.setPreferredWidth(columnWidth);
SwingUtilities.updateComponentTreeUI(table);
return true;
}

bueno eso es lo que harias para cambiar el ancho, columnWidth seria una variable con el ancho que deseas colocar, columnIndex es el indice de la columna, para cambiar el color del header es necesario cambiar el render algo asi

TableCellRenderer render = new TableCellRenderer() {

@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
JButton btn = new JButton(value.toString());
btn.setBackground(new Color(255, 128, 12));
return btn;
}
};
table.getColumnModel().getColumn(1).setHeaderRenderer(render);

como ves le pongo como header un boton con fondo naranja, puedes cambiarlo, y poner el render que mas te guste, (si no me equivoco por defecto en un Label con borde), Suerte
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:ayuda con Jtable

Publicado por cecilia (73 intervenciones) el 15/06/2009 19:16:26
Muchas gracias me ha funcionado!!!!!!!!! he podido hacer mi tabla como deseaba

garcias!!
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
Imágen de perfil de Walter Alberto

RE:ayuda con Jtable

Publicado por Walter Alberto (10 intervenciones) el 12/11/2013 18:53:17
Yo tengo una tabla definida asi, pero no hace caso del cambio de tamaño de las columnas, Alguien sabe porque?:

1
2
3
4
5
6
7
8
9
10
Object[][] data = {{1,1,1,1,1},{2,2,2,1,1},{3,3,3,1,1},{4,4,4,1,1}};
String[] columnNames = {"Secuencia","Articulo","Descripcion","Unid. Medida","Cantidad"};
modelo = new DefaultTableModel(data, columnNames);
estructuraf.tdespiece.removeAll();
estructuraf.tdespiece.setModel(modelo);
estructuraf.tdespiece = new JTable(modelo);
estructuraf.tdespiece.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
estructuraf.tdespiece.getColumn("Secuencia").setPreferredWidth(10);
estructuraf.tdespiece.getColumn("Articulo").setPreferredWidth(100);
estructuraf.tdespiece.getColumn("Descripcion").setPreferredWidth(200);
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