gpt4 book ai didi

java - 从 JTable 中获取选定行的内容作为对象的 ArrayList

转载 作者:行者123 更新时间:2023-12-01 22:25:27 24 4
gpt4 key购买 nike

我想将选定行的内容收集到对象类型的数组中。要收集所有选定行的内容,应将这些数组添加到稍后返回的数组列表中。

简化方法:

Content of row --> Object[i] = content of column 1...2...3...i
ArrayList<Object[]> add <-- Object[]

ArrayList 应该是这样的:

list {

[(content of row(0), col(0)), content of row(0), col(1)), content of row(0), col(1))],

[(content of row(1), col(0)), content of row(1), col(1)), content of row(1), col(1))]


[(content of row(2), col(0)), content of row(2), col(1)), content of row(2), col(1))]

}

在下面,您将找到我到目前为止的代码,但这不起作用,我遇到了空指针异常。

public static ArrayList<Object[]> getSelectedTaskAsList() {
ArrayList<Object[]> tasks = new ArrayList<Object[]>();

if (table.getSelectedRowCount() > 0) { // check if there are selected rows
int[] selectedRows = table.getSelectedRows();
Object[] taskAsArray = null;
for (int i = 0; i < selectedRows.length; i++) { // print all selected tasks
for (int j = 0; j < table.getColumnCount(); j++) {
taskAsArray[j] = (table.getValueAt(table.convertRowIndexToModel(selectedRows[i]),table.convertColumnIndexToModel(j)));
}
tasks.add(taskAsArray);
}
}
return tasks;
}

首先,我想知道我的方法是否“好”,或者是否太困难,或者是否有其他方法。将表中的第一个值添加到 taskAsArray[] 数组时,会发生空指针异常。

最佳答案

您应该始终指出出现异常的位置。但首先你应该改变这个

    Object[] taskAsArray = null;
for (int i = 0; i < selectedRows.length; i++) { // print all selected tasks
for (int j = 0; j < table.getColumnCount(); j++) {
taskAsArray[j] = (table.getValueAt(table.convertRowIndexToModel(selectedRows[i]),table.convertColumnIndexToModel(j)));
}
tasks.add(taskAsArray);
}

进入

    Object[] taskAsArray = new Object[table.getColumnCount()];
for (int i = 0; i < selectedRows.length; i++) { // print all selected tasks
for (int j = 0; j < table.getColumnCount(); j++) {
taskAsArray[j] = (table.getValueAt(table.convertRowIndexToModel(selectedRows[i]),table.convertColumnIndexToModel(j)));
}
tasks.add(taskAsArray);
}

关于java - 从 JTable 中获取选定行的内容作为对象的 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28873023/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com