Bạn cần triển khai mô hình dữ liệu của riêng mình. Tôi cung cấp cho bạn ví dụ đơn giản cho thấy ý tưởng sử dụng. Hãy xem phương thức getColumnClass.
Cách sử dụng: 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);
}
}
Hy vọng điều này sẽ hữu ích.
Nguồn
2013-06-04 15:21:32
không hoàn toàn hiểu - những booleans này có trên các bean khác nhau (aka: rows)? Nếu vậy, liên kết với bean/s trực tiếp ... – kleopatra
bạn có nghĩa là bảy giá trị boolean khác nhau trong một hàng hoặc trong một cột. Nếu nó liên tiếp, bạn có thể định nghĩa một bean với bảy thuộc tính boolean và liên kết mỗi thuộc tính với mỗi cột. Nếu cột của nó, tôi không chắc nó có ý nghĩa gì. Điều cơ bản là mỗi hàng sẽ đại diện cho một bean. Vì vậy, bảy giá trị boolean khác nhau trên cột có nghĩa là bảy loại đậu khác nhau. –
JTables lưu trữ các giá trị như là đối tượng như vậy, bất kể là giá trị boolean bạn có thể ràng buộc chúng giống như cách bạn ràng buộc bất kỳ loại giá trị nào khác – Felype