我有一个用于物品清单的应用程序,我正在尝试在我的代码中将 JTable 添加到 JFrame 中。我创建了一个AbstractTableModel
名为ItemTableModel
. 我还将 JTable 拖放到 netbeans 中相应 JFrame 的设计器视图中,并将其重命名为m_jtTable
.
public class ItemTableModel extends AbstractTableModel
{
Inventory inv;
int rowCount = 0;
int colCount = 3;
public ItemTableModel(Inventory in)
{
inv = in;
}
@Override
public int getRowCount()
{
return inv.itemList.size();
}
@Override
public int getColumnCount()
{
return colCount;
}
@Override
public boolean isCellEditable(int row, int col)
{
return false;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex)
{
Item it = inv.itemsList.get(rowIndex);
Object retO = null;
switch(columnIndex)
{
case 0: retO = (Object)it.getItemNumber(); break;
case 1: retO = (Object)it.getDescription(); break;
case 2: retO = (Object)it.getPrice(); break;
default: retO = (Object)new String("null"); break;
}
return retO;
}
}
然后在我的 JFrame 中的一个方法中,加载库存后我有下面的代码
ItemTableModel data = new ITemTableModel(this.inv);
m_jtTable.setModel(data);
我有几个问题,我需要调用什么来绘制表格?我是否需要专门为 netbeans 指定我的表模型?如何指定列名?如果库存发生变化,我如何重新绘制表格以反映这一点?(我计划搜索库存并在此表中显示可能的结果,方法是将其更改Inventory
为仅包含搜索匹配项的结果)
另外,我不需要/不想使任何单元格可编辑,此表仅供查看。