5

Bean にバインドしたいbooleana の列に7 つの値があります。JTable

それらをバインドするにはどうすればよいですか?

そこにあるすべてのJTableバインディングの例は、テーブル選択のバインディングに焦点を当てていますが、私はそれらの値が何であるかだけを気にしますbooleans.

4

1 に答える 1

1

独自のデータ モデルを実装する必要があります。使い方のアイデアを示す簡単な例を示します。getColumnClass メソッドを見てください。

使用法: table.setModel(new DataModel(myData));

class DataModel extends AbstractTableModel
{


    public DataModel(Object yourData){
         //some code here
    }

    @Override
    public int getRowCount() {
        return yourData.rows;
    }

    @Override
    public int getColumnCount() {
        return yourData.colums;
    }

    @Override
    public Class<?> getColumnClass(int col) {
        if (col == myBooleanColumn) {
            return Boolean.class;
        } else {
            return null;
        }
    }

    @Override
    public boolean isCellEditable(int row, int col) 
    {
        return col >= 0;
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {

        return yourData.get(rowIndex,columnIndex);
    }

    @Override
    public void setValueAt(Object aValue, int row, int col) {           

    yourData.set(aValue,row,col)    

        this.fireTableCellUpdated(row, col);  
    }
}

お役に立てれば。

于 2013-06-04T15:21:32.777 に答える