这是我第一次尝试使用 Java Swing JTable,所以我可能在做一些愚蠢的事情。
我正在尝试在 GUI 上的 JFrame 中动态更新 JTable,这是我目前编写的代码:
private void updateGUI(String input, DefaultTableModel model, int elements) { //3 elements
try {
Object[] cellData = input.split("!\\*");
Iterator it = Arrays.asList(cellData).iterator();
int rowCount = cellData.length / numberOfElements;
model.setRowCount(rowCount);
for (int i = 0; i < rowCount; i++) {
for (int j = 0; j < numberOfElements; j++) {
model.setValueAt(it.next(), i, j);
}
}
} catch (Exception uhoh) {
System.out.println("Couldn't add new string to gui");
uhoh.printStackTrace();
}
}
本质上,我向 updateGUI 函数传递了一个包含元素的字符串,用 !* 分隔。目前数据如下:
firstName!*123456!*lastName
然后将其拆分为 Object[],我目前正在使用迭代器将其放入表格单元格中。
但是,我不断得到ArrayIndexOutOfBoundsException: 27 >=27
被抛出,所以看起来我在细胞生成/种群方面做错了。
我确信有更好的方法可以做到这一点,但是在阅读了几个例子之后,我仍然有点困惑。
任何建议或意见,将不胜感激。
谢谢!