首页 > 解决方案 > getColumnCount() 不会返回任何高于 7 的值

问题描述

我一直在关注 Youtube 上的教程,一切正常。我试图自己进行修改,这是我现在的问题。当我使用getColumnCount()返回 7 时,它可以工作。任何比这更高的东西都会让我java.lang.ArrayIndexOutOfBoundsException:7

具体时间视频如下: https ://youtu.be/OxaSi3nSl3I?t=15233

这是我的代码(请参阅 getColumnCount):

package view;

import java.util.List;

import javax.swing.table.AbstractTableModel;

import model.Product;

public class ProductTableModel extends AbstractTableModel {

    private List<Product> db;

    private String[] colNames = {"ID", "Product", "Unit Price", "Quantity", "Service", "TIN", "TIN Number "};

    public ProductTableModel() {

    }

    @Override
    public String getColumnName(int column) {

        return colNames[column];
    }


    public void setData(List<Product> db) {
        this.db = db;
    }

    @Override
    public int getColumnCount() {
        return 7;
    }


    @Override
    public int getRowCount() {
        return db.size();
    }

    @Override
    public Object getValueAt(int row, int col) {
        Product product = db.get(row);

        switch(col) {
        case 0:
            return product.getId();
        case 1:
            return product.getProdName();
        case 2:
            return product.getUnitPrice();
        case 3:
            return product.getqtyCategory();
        case 4:
            return product.getDpCat();
        case 5:
            return product.isHasTin();
        case 6:
            return product.getTinNum();

        }
return null;
    }

}

任何帮助表示赞赏:D

标签: javaswingmodel-view-controller

解决方案


推荐阅读