package com.lingnan.supermarket.table; // 包声明,指定当前类所在的包 import java.util.List; // 导入List接口,用于表示列表 import java.util.Vector; // 导入Vector类,用于实现可增长的对象数组 import javax.swing.table.AbstractTableModel; // 导入AbstractTableModel类,用于创建表格模型 import com.lingnan.supermarket.dto.Production; // 导入Production类,表示产品数据传输对象 import com.lingnan.supermarket.dto.User; // 导入User类,表示用户数据传输对象 import com.lingnan.supermarket.dao.UserService; // 导入UserService接口,用于用户数据访问 import com.lingnan.supermarket.dao.impl.*; // 导入所有实现类,可能用于数据访问层的具体实现 public class StorageTableModel extends AbstractTableModel{ // 定义一个类,继承自AbstractTableModel,用于存储表格数据模型 private String [] columnName = {"id","名称","保质期","数量","类别","供应商编号"}; // 定义列名数组,用于表格的列标题 private productionImpl prodDao = new productionImpl(); // 创建productionImpl对象,用于操作产品数据 private Vector prods; // 声明一个Vector,用于存储Production对象列表 public void all() { // 查找全部数据,并更新prods向量 prods = prodDao.findAllproduction(); } public void Byname(Production p) { // 根据产品名称查找数据,并更新prods向量 prods = prodDao.findproduction(p.getName()); } @Override public int getRowCount() { // 获取表格的行数,即prods向量的元素数量 return prods.size(); } @Override public int getColumnCount() { // 获取表格的列数,即columnName数组的长度 return columnName.length; } @Override public Object getValueAt(int rowIndex, int columnIndex) { // 获取指定行和列的单元格值 Production prod = prods.get(rowIndex); // 获取指定行的Production对象 if(columnIndex==0) { return prod.getId(); // 返回产品ID }else if(columnIndex==1) { return prod.getName(); // 返回产品名称 }else if(columnIndex==2) { return prod.getLife(); // 返回产品保质期 }else if(columnIndex==3) { return prod.getSum(); // 返回产品数量 }else if(columnIndex==4) { return prod.getName2()+prod.getId2(); // 返回产品类别和ID的组合 }else if(columnIndex==5) { return prod.getSupplyId(); // 返回产品供应商编号 }else { return null; // 如果列索引不匹配,返回null } } @Override public String getColumnName(int column) { // 获取指定列的列名 return columnName[column]; // 返回columnName数组中指定索引的值 } }