gpt4 book ai didi

java - 通过setDataVector函数更新JTable数据

转载 作者:行者123 更新时间:2023-12-01 13:42:55 25 4
gpt4 key购买 nike

我正在尝试通过读取 csv 文件并调用 setDataVector 来更新我的 JTable,但在 String[] 列表(读取 CSV 文件的结果)和 Vector 之间的转换时遇到一些问题对象的数量(setDataVector 方法所需)。我的尝试如下:

 jbtLoad.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
CSVReader reader = new CSVReader(new FileReader("csv.csv"));
List myEntries = reader.readAll();//List is filled with String[]'s

Vector<Object> data = new Vector(myEntries);
data.remove(0);

Vector<Object> column_names = new Vector();
column_names.add(myEntries.get(0));

tableModel.setDataVector(data, column_names); //the error occurs here
}
catch (Exception ex) {
ex.printStackTrace();
}
}
});

setDataVector 应该接受以下参数:( vector dataVector、 vector 列标识符)。

问题是我不断收到错误:[Ljava.lang.String;无法转换为 java.util.Vector。是否有一些简单的功能可以修复这个程序?还是我需要自己构建一些东西?

我知道 vector 已经贬值,但考虑到我的程序范围有限(只是一个小家庭作业),我认为使用它们会更容易。

感谢您的建议!

最佳答案

  • 数据应该是二维数组 Vector<Vector<Object>> data而不是Vector<Object> data

  • 在这种情况下,您必须在 util List myEntries 内循环并创建一个新的 Vector<Object> row

  • 使用AbstractTableModel用于基于 util.List 的底层数组,

  • 阅读 Oracle tutorial How to use Table ,这里有一些 SSCCE 形式的优秀代码示例

关于java - 通过setDataVector函数更新JTable数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20562526/

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