0

这个函数应该刷新我的 JTable:

list = null;
list = (ArrayList<String[]>) interface_engine.getData();
info = new String[list.size()][header.length];

Iterator it = list.iterator();

for (int i = 0; i < list.size(); i++) {
    String[] current = (String[]) it.next();
    for (int j = 0; j < header.length; j++) {
        info[i][j] = current[j];
    }
}
DefaultTableModel model = (DefaultTableModel) data_table.getModel();
model.addRow(info);

当我调用它以添加新行时(getData 是从 db 检索数据的远程方法),添加的行不会显示为字符串,而是显示为变量引用(例如 String@128dda ...)。问题出在哪里?

4

1 回答 1

3

添加的行不是显示为字符串,而是显示为变量引用(例如 String@128dda...)。

阅读 DefaultTableModel API。您不能使用 addRow() 方法添加二维数组。您一次只能添加一行。

addRow() 方法应该在您的循环中。构建一行数据,然后调用 addRow() 方法。

于 2013-07-17T16:04:15.367 回答