我需要将JComboBox添加到Objects数组的索引中,因为该数组还包含其他对象,例如String,int等,以便将它们全部添加到JTable中的行中。
提示:我试图使用这段代码“ TableListSuppliers.getColumnModel()。getColumn(2).setCellEditor(new DefaultCellEditor(combSupplierProducts))”解决它,但是它没有用,所以我可以像我提到的那样尝试解决它在我的问题。
public void addRowToJTable()
{
DefaultTableModel tableModel = (DefaultTableModel) TableListSuppliers.getModel();
Object [] data = new Object[6];
Supplier supplier = new Supplier();
ArrayList <Supplier> suppliers = new ArrayList <> ();
suppliers = supplier.ListSuppliers();
tableModel.setRowCount(0);
int suppliersSize = suppliers.size();
for(int i = 0; i < suppliersSize; i++)
{
Product product = new Product();
ArrayList <Product> products = new ArrayList <> ();
products = product.listProducts();
int productsSize = products.size();
String [] supplierProducts = new String[productsSize];
for(int j = 0; j < productsSize; j++)
{
if(suppliers.get(i).getSupplierName().equals(products.get(j).getProductSupplierName()))
{
supplierProducts[j] = products.get(j).getProductName();
}
}
JComboBox combSupplierProducts = new JComboBox (supplierProducts);
data[5] = i + 1;
data[4] = suppliers.get(i).getSupplierNumber();
data[3] = suppliers.get(i).getSupplierName();
//TableListSuppliers.getColumnModel().getColumn(2).setCellEditor(new DefaultCellEditor(combSupplierProducts));
//data[2] = column;
data[1] = suppliers.get(i).getSupplierPhone();
data[0] = suppliers.get(i).getSupplierAddres();
tableModel.addRow(data);
}
}