首页 > 解决方案 > 为什么我的 JTable 上的数据只有在我选择后才可见?

问题描述

我有一个 JTable,其中包含一些来自 String 的数据,但是当我运行我的程序时,JTable 似乎是空的,直到我选择了行。然后,它显示了一切。怎么会这样?

运行程序后:

在此处输入图像描述

在我选择表中的数据后:

在此处输入图像描述

我的 JTable 周围的代码是:

public class PanelConsulta1 extends JPanel {

private String[] nombresColumnas = {"Ciudad de Residencia", "Salario Promedio"};
private JScrollPane scrollPane;
private JTable tabla;
private controlador control;

public PanelConsulta1(){
    control = new controlador();
   
    setSize(400, 400);
    setLayout(null);
    tabla = new JTable(inicializarTabla());
    
    scrollPane = new JScrollPane();
    scrollPane.add(tabla);
    scrollPane.setSize(400, 400);
    tabla.setFillsViewportHeight(true);
    tabla.setSize(400, 400);
    add(scrollPane);
    setVisible(true);
    
}

private DefaultTableModel inicializarTabla(){
    ArrayList<Consulta1Vo> lista = null;
    Object[][] ayudante = null;
    DefaultTableModel modelo = new DefaultTableModel(nombresColumnas, 0);
    try {
        lista = control.consultarRequerimiento1();
        ayudante = new Object[lista.size()][2];
    } catch (Exception e) {
        e.printStackTrace();
    }
    for (int i = 0; i < lista.size(); i++) {
        ayudante[i][0] = lista.get(i).getCiudadResidencia();
        ayudante[i][1] = Math.round(lista.get(i).getSalarioPromedio());
        String ciudad = lista.get(i).getCiudadResidencia();
        double promedio = Math.round(lista.get(i).getSalarioPromedio());
        Object[] datos = {ciudad, promedio};
        //modelo.addRow(datos);
    }
    modelo = new DefaultTableModel(ayudante, nombresColumnas);
    return  modelo;
}

}


标签: javaswinguser-interfacegraphicsjtable

解决方案


推荐阅读