带有对象填充的 Java JTable vector

标签 java swing vector jtable defaulttablemodel

我已经尝试填充 JTable 大约三天了。我需要做的就是用“Artikel”对象填充一个 vector vector ,填充一个标题 vector 并将这两个 vector 绑定(bind)到一个 JTable。

我可以使用自定义 AbstractTableModel 来管理它,但我无法创建 addColumn() 方法。所以,我放弃了这种方式。现在我只使用标准的 DefaultTableModel 但现在我无法正确填充我的 JTable。我将所有对象放在第一列中,而不是分成所有列: fault screenshot

GUI

我的 Artikel 类:

public class Artikel {

private String EnitiativeRef;
private String Brand;
private String pnb;
.
.
.
public Artikel(){        
}

public String getEnitiativeRef() {
    return EnitiativeRef;
}

public void setEnitiativeRef(String EnitiativeRef) {
    this.EnitiativeRef = EnitiativeRef;
}
.
.
.
}

我的按钮代码:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

    ICsvBeanReader inFile = null;
    String[] header = {};
    Vector<Vector<Artikel>> data = null;

    try {
        inFile = new CsvBeanReader(new FileReader("C:\\609661920071022111.csv"), CsvPreference.STANDARD_PREFERENCE);

        header = inFile.getHeader(true);

        data = new Vector<Vector<Artikel>>();

        Artikel artikel;
        while ((artikel = inFile.read(Artikel.class, header, cellProcessor)) != null) {
            Vector<Artikel> tmpVector = new Vector<Artikel>();
            tmpVector.addElement(artikel);
            data.addElement(tmpVector);
        }

    } catch (Exception ex) {
        System.out.println("FOUT: " + ex.toString());
    } finally {
        try {
            inFile.close();
        } catch (IOException ex) {
            Logger.getLogger(main.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    tblAll.setModel(new DefaultTableModel(data, new Vector(Arrays.asList(header))));
    tblAll.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
}

你能告诉我我做错了什么或指导我做这件事的正确方法吗?非常感谢您的帮助。

最佳答案

vector vector 中的每个元素代表一行,这些元素 vector 中的每个元素代表一列。

您正在将单元素 vector 添加到主 vector ,该元素是您尚未为其实现 toString 方法的类的一个对象。

你可能走错了路。

关于带有对象填充的 Java JTable vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13336655/

相关文章:

java - 添加 'com.amazonaws:aws-java-sdk:1.10.1'时Gradle编译错误

java - 绘制贝塞尔曲线

java - 您可以在某个步骤中同时使用@Given 和@And 吗?

java - 为什么输出仅交替显示?

java - Swing 和 AWT : ContentPane items not showing in JFrame

java - 使用 super.paint() 不会显示任何内容

python - 绘制决策边界 matplotlib

java - 根据文本调整 JButton 和其他组件的大小

带有函数指针的 C++ vector push_back

c++ - 使用 vector 对象与创建自己的对象相比的优势