Java 通过setDataVector函数更新JTable数据
我试图通过读取csv文件并调用setDataVector来更新我的JTable,但在字符串[]s列表(读取csv文件的结果)和对象向量(setDataVector方法所需)之间的转换方面遇到了一些问题。我的尝试如下:Java 通过setDataVector函数更新JTable数据,java,swing,list,vector,jtable,Java,Swing,List,Vector,Jtable,我试图通过读取csv文件并调用setDataVector来更新我的JTable,但在字符串[]s列表(读取csv文件的结果)和对象向量(setDataVector方法所需)之间的转换方面遇到了一些问题。我的尝试如下: jbtLoad.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { try {
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();
}
}
});
jbtLoad.addActionListener(新ActionListener(){
已执行的公共无效操作(操作事件e){
试试{
CSVReader reader=新的CSVReader(新的文件阅读器(“csv.csv”);
List myEntries=reader.readAll();//列表中填充了字符串[]
向量数据=新向量(myEntries);
数据删除(0);
向量列名称=新向量();
column_names.add(myEntries.get(0));
tableModel.setDataVector(数据,列名称);//此处发生错误
}
捕获(例外情况除外){
例如printStackTrace();
}
}
});
setDataVector应该接受以下参数:(Vector dataVector,Vector columnIdentifiers)
问题是我一直遇到一个错误:[Ljava.lang.String;无法转换为java.util.Vector。是否已经有一些简单的函数可以修复此程序?或者我需要自己构建一些东西吗
我知道向量被贬低了,但考虑到我的程序范围有限(只是一个小的家庭作业),我想使用它们会更容易
谢谢你的建议!- 数据应该是二维数组
,而不是矢量数据
矢量数据
- 在这种情况下,您必须在
中循环,并创建一个新的util List myEntries
向量行
- 基于
,使用util.List
作为基线阵列AbstractTableModel
- 下面是一些SSCCE格式的好代码示例