Netbeans - ANCHO COLUMNAS DE UN JTABLE

 
Vista:

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:

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.

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder