JTable getModel()。setValueAt从数组中删除第一个元素

时间:2018-05-24 22:53:18

标签: java arrays swing jtable


我在更新JTable的内容时遇到了一个奇怪的错误。我有一个二维数组,它存储要由表格显示的值数组(我一次只显示一行数据)。当用户单击按钮时,将显示下一组值(以及下一组列标题),当用户单击另一个按钮时,它将显示上一组。问题是我第一次调用getModel().setValueAt时,在二维数组中的第一个数组上,它被删除了。

这是更新JTable的代码:

for(int i = 0; i < formattedData[displayedDataSet].length - 1; i++) {
                    TableColumn col = displayTable.getTableHeader().getColumnModel().getColumn(i);
                    col.setHeaderValue(WeatherData.WEATHER_MAP_KEYS[displayedDataSet * 5 + i]);
                    displayTable.getTableHeader().resizeAndRepaint();
                    displayTable.getModel().setValueAt(formattedData[displayedDataSet][i], 0,  i);
}

for(String s: formattedData[0]) {
                System.out.println(s);
}

我希望输出是formattedData中的第一个数组,但它是第二个。但是,使用displayTable.getModel().setValueAt注释掉该行会导致输出正确的结果。为什么会发生这种情况,如何在保留数组的同时更新JTable

0 个答案:

没有答案