我已通过 DefaultTableModel 使用 (Object[][]
data, String[]
headers) 构造函数填充 JTable。用户可以编辑表格,我希望能够将新数据加载回数组 (Object[][]
)。请注意,我不想只是一点一点地更新数组,而是能够从表中完全加载新数组。如何做到这一点?
最佳答案
我收回这一点,第二个想法是,你不需要任何类型转换 - TableModel 是一个接口(interface),它具有你需要的所有 3 个方法调用。 :)
摘要:获取表的模型,检查其类并将其类型转换为适当的类(Abstract 或 Default TableModel),然后使用其方法加载新创建的数组。一些伪代码:
public Object[][] getTableData (JTable table) {
DefaultTableModel dtm = (DefaultTableModel) table.getModel();
int nRow = dtm.getRowCount(), nCol = dtm.getColumnCount();
Object[][] tableData = new Object[nRow][nCol];
for (int i = 0 ; i < nRow ; i++)
for (int j = 0 ; j < nCol ; j++)
tableData[i][j] = dtm.getValueAt(i,j);
return tableData;
}
您的标题不应因用户编辑而更改。希望有帮助。问候,-M.S.
关于java - 如何以数组形式检索 JTable 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4765469/