【问题标题】:Refreshing a JTable刷新 JTable
【发布时间】:2015-09-06 13:18:36
【问题描述】:

我正在像这样加载我的 JTable 数据:

ColisDAO colisDAO = new ColisDAO(DatabaseConnection.getInstance());
Object[][] colisData = new Object[colisDAO.count()][];

public ColisPanel() {
        Set<Colis> listColis = colisDAO.getAllColis();
        int i = 0;
        Iterator<Colis> iterator = listColis.iterator();
        while(iterator.hasNext()) {
            Colis currentColis = iterator.next();        
            colisData[i] = new Object[]{
                currentColis.idColis(), currentColis.idDescriptionColis(),
                currentColis.affectataire(), currentColis.module(), currentColis.optionnel(), currentColis.secteur(),
                currentColis.designationColis(), currentColis.designationContenu(), currentColis.poid(), currentColis.valeur(),
                currentColis.iata(), currentColis.projection(), currentColis.observation()};

            i++;
        }

        initComponents();
        colisTable.setRowSelectionAllowed(true);
    }

        colisTable.setModel(new javax.swing.table.DefaultTableModel(
            colisData,
            new String [] {
                "idColis", "idDescriptionColis", "affectataire", "module", "optionnel",
                "secteur", "designationColis", "designationContenu",
                "poid", "valeur", "iata", "projection", "observation"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false, false, false, false, false,
                false, false, false, false, false, false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });

是否可以直接将 JTable 与 Colis 对象绑定,而不是使用 Object 数组?

另外,我查看了删除行后重新加载 Jtable 数据的问题,我明白为什么 fireTableDataChanged 方法不起作用。因为我只是不更新​​模型。

我该怎么做?

【问题讨论】:

  • 为了尽快获得更好的帮助,请发布MCVE(最小完整可验证示例)或SSCCE(简短、自包含、正确示例)。
  • 您能否详细说明您的问题陈述
  • 你可能会从这个example得到一些想法;请注意,addRow() 会为您触发正确的事件。

标签: java swing jtable tablemodel


【解决方案1】:

首先,尝试使用 javax.swing.table.AbstractTableModel,不要再使用 DefaultTable 模型了。

【讨论】:

    猜你喜欢
    • 2010-10-04
    • 2011-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-06
    • 2012-06-13
    相关资源
    最近更新 更多