0

アイテムのインベントリに使用するアプリケーションがあります。コードで JTable を JFrame に追加しようとしています。AbstractTableModelというオブジェクトの拡張を作成しましたItemTableModel。また、JTable をそれぞれの JFrame の netbeans のデザイナー ビューにドラッグ アンド ドロップし、名前を に変更しました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)

また、セルを編集可能にする必要はありません。このテーブルは表示用です。

4

1 に答える 1