getColumnCount()不会返回高于7的任何值

时间:2018-10-13 06:31:35

标签: java swing model-view-controller

我一直在关注有关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

0 个答案:

没有答案