problem z edycją pól w jTable

0

Przy pisaniu programu używam frameworku JSR 296, takie coś fajnego w netbeansie. Pojawił się jednak kłopot z komponentem jTable. Chciałbym aby określone kolumny mogłybyć edytowalene. A teraz troche kodu:

    public TableModel showList() {
        sDb itemDb = new sDb();
        sBean item = new sBean();
        Map<Integer, sBean> list;
        TableModel model;
        String headers[] = { "K1", "K2", ... };

        list = itemDb.list();
        model = new SparseTableModel(list.size(), headers);

        for(int i=0; i<list.size(); i++) {
            item = list.get(i);
            model.setValueAt(item.getId(), i, 0);
            model.setValueAt(item.getTitle(), i, 1);
            ...
        }

        return model;
    }

    ...

    this.jTable1.setModel(this.list.showList(this.id, 1));

funkcja this.list.showList(this.id, 1) zwraca mi zmienna typu TableModel

problemu z edytowaniem pól nie ma jeśli ręcznie wpisze wiersze, natomiast gdy ta funkcja wypełnia table wartościami to nie da się już edytować określonych komórek.

0

jakie wartości zwraca funkcja 'isCellEditable' w modelu SparseTableModel?

0

zwraca false, w związku z tym trzeba coś zmienić, żeby zwracała true, tylko właśnie nie za bardzo wiem co.

0

np:

class SparseTableModel extends AbstractTableModel {

    @Override
    public boolean isCellEditable(int rowIndex, int columnIndex) {
        switch (columnIndex) {
            case 0:
            case 1:
            case 2:
                return true;
            default:
                return false;
        }
    }
}
0

wielkie dzięki, działa

1 użytkowników online, w tym zalogowanych: 0, gości: 1