我正在加载我的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方法不起作用。因为我没有更新模型。
我该怎么做?
答案 0 :(得分:0)
首先,尝试使用javax.swing.table.AbstractTableModel,不再使用DefaultTable模型。