Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 刷新JTable_Java_Swing_Jtable_Tablemodel - Fatal编程技术网

Java 刷新JTable

Java 刷新JTable,java,swing,jtable,tablemodel,Java,Swing,Jtable,Tablemodel,我正在加载我的JTable数据,如下所示: ColisDAO colisDAO = new ColisDAO(DatabaseConnection.getInstance()); Object[][] colisData = new Object[colisDAO.count()][]; public ColisPanel() { Set<Colis> listColis = colisDAO.getAllColis(); int i = 0;

我正在加载我的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];
            }
        });
ColisDAO-ColisDAO=new-ColisDAO(DatabaseConnection.getInstance());
Object[]colisData=新对象[colisDAO.count()];
公共大肠杆菌肽(){
设置listColis=colisDAO.getAllColis();
int i=0;
迭代器迭代器=listColis.Iterator();
while(iterator.hasNext()){
Colis currentColis=iterator.next();
colisData[i]=新对象[]{
currentColis.idColis(),currentColis.idDescriptionColis(),
currentColis.affectataire()、currentColis.module()、currentColis.optionnel()、currentColis.secteur(),
currentColis.designationColis()、currentColis.DesignationContentu()、currentColis.poid()、currentColis.valeur()、,
currentColis.iata()、currentColis.projection()、currentColis.observation()};
i++;
}
初始化组件();
colisTable.setRowSelectionAllowed(真);
}
colisTable.setModel(新的javax.swing.table.DefaultTableModel(
科里斯达,
新字符串[]{
“idColis”、“idDescriptionColis”、“affectataire”、“module”、“optionnel”,
“部门”、“指定内容”、“指定内容”,
“poid”、“valeur”、“iata”、“投影”、“观察”
}
) {
boolean[]canEdit=新的boolean[]{
假,假,假,假,假,假,假,
假,假,假,假,假,假,假,假,假
};
公共布尔值isCellEditable(int-rowIndex、int-columnIndex){
返回canEdit[columnIndex];
}
});
是否可以直接将JTable与Colis对象绑定,而不是使用对象数组数组

另外,我查看了删除一行后重新加载Jtable数据的情况,我理解了为什么fireTableDataChanged方法不起作用。因为我只是不更新模型


我该怎么做呢?

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

为了更快地获得更好的帮助,请发布一个(最小完整的可验证示例)或(简短、自包含、正确的示例)。你能更详细地阐述你的问题陈述吗;请注意,
addRow()
为您触发正确的事件。