
ANCHO COLUMNAS DE UN JTABLE
Publicado por ANTONIO PERIS (9 intervenciones) el 23/09/2018 17:39:32
Hola compañeros.
Necesito darle un ancho determinado a las tres columnas que compone un JTable:
Entro en las propiedades del JTable y hago:
Cuando ejecuto el programa, me muestra el JTable con las tres columnas del mismo ancho y pequeñas (no con los anchos que le indica a cada columna (50,400 y 400)).
Tengo antes del constructor del JLabel (no sé, si puede ser un problema):
Y desde el constructor, llamo al método:
Cuando consulto, @SuppressWarnings("unchecked"), me muestra:
Esto es lo que guarda a raiz de las propiedades que marco.
¿Me podeis hechar mano de cual puede ser el problema?
Gracias y saludos
Necesito darle un ancho determinado a las tres columnas que compone un JTable:
Entro en las propiedades del JTable y hago:
Cambiar la propiedad "autoResizeMode" a OFF.
Click derecho en el JTable e ingresar a la opcion "Table Contents".
Ir a la pestaña "Columns"
Selecionar la columna a la que queremos fijar el ancho.
Cambiar el valor "Pref. Width" al ancho que queramos.
Click derecho en el JTable e ingresar a la opcion "Table Contents".
Ir a la pestaña "Columns"
Selecionar la columna a la que queremos fijar el ancho.
Cambiar el valor "Pref. Width" al ancho que queramos.
Cuando ejecuto el programa, me muestra el JTable con las tres columnas del mismo ancho y pequeñas (no con los anchos que le indica a cada columna (50,400 y 400)).
Tengo antes del constructor del JLabel (no sé, si puede ser un problema):
1
2
// Crea una tabla
DefaultTableModel modelo;
Y desde el constructor, llamo al método:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
void CargarTablaFicha(String valor){
//Para poner los títulos de la tabla
String[] titulos = {"ID", "Tipo", "Familia"};
//Para agregar los elementos de la tabla
String[] registro = new String[3];
String sSQL = "";
modelo = new DefaultTableModel(null, titulos);
//Para establecer la conexión
ConexionMySQL mysql = new ConexionMySQL();
Connection cn = mysql.Conectar();
//Crea la consulta MySQL
sSQL = "SELECT id_tipo, subfamilia, Familiaasociadasubfa FROM configura WHERE CONCAT(subfamilia) LIKE '"+valor+"%' AND subfamilia <> '' ORDER BY subfamilia";
try {
Statement st = cn.createStatement();
ResultSet rs = st.executeQuery(sSQL);
while(rs.next()){
registro[0] = rs.getString("id_tipo");
registro[1] = rs.getString("subfamilia");
registro[2] = rs.getString("Familiaasociadasubfa");
modelo.addRow(registro);
}
//Se agregan los datos a la tabla
tblConsultaFitoFicha.setModel(modelo);
}
catch (SQLException ex) {
JOptionPane.showMessageDialog(null, ex);
}
}
Cuando consulto, @SuppressWarnings("unchecked"), me muestra:
1
2
3
4
5
6
7
8
9
10
11
12
13
tblConsultaFitoFicha = new javax.swing.JTable();
tblConsultaFitoFicha.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
tblConsultaFitoFicha.setComponentPopupMenu(jPopupMenu1);
jScrollPane1.setViewportView(tblConsultaFitoFicha);
if (tblConsultaFitoFicha.getColumnModel().getColumnCount() > 0) {
tblConsultaFitoFicha.getColumnModel().getColumn(0).setResizable(false);
tblConsultaFitoFicha.getColumnModel().getColumn(0).setPreferredWidth(50);
tblConsultaFitoFicha.getColumnModel().getColumn(1).setResizable(false);
tblConsultaFitoFicha.getColumnModel().getColumn(1).setPreferredWidth(400);
tblConsultaFitoFicha.getColumnModel().getColumn(2).setResizable(false);
tblConsultaFitoFicha.getColumnModel().getColumn(2).setPreferredWidth(400);
}
Esto es lo que guarda a raiz de las propiedades que marco.
¿Me podeis hechar mano de cual puede ser el problema?
Gracias y saludos
Valora esta pregunta


1