5
我在JTable
的列中有7个boolean
值,我想绑定到我的bean。如何绑定JTable中的布尔值和JGoodies
我该如何绑定它们?
所有JTable
绑定示例在那里重点绑定表选择,但我只关心那些booleans
的值是什么。
我在JTable
的列中有7个boolean
值,我想绑定到我的bean。如何绑定JTable中的布尔值和JGoodies
我该如何绑定它们?
所有JTable
绑定示例在那里重点绑定表选择,但我只关心那些booleans
的值是什么。
您需要实现自己的数据模型。我给你简单的例子,显示使用的想法。看看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);
}
}
希望这会有所帮助。
不太明白 - 那些布尔值在不同的bean(aka:rows)上?如果是这样,直接绑定到bean/s ... – kleopatra 2012-08-15 08:40:16
您是指在一行或一列中七个不同的布尔值。如果它在一行中,你可以定义一个具有七个布尔属性的bean,并将每个属性绑定到每一列。如果它的列,我不确定它是什么意思。基本的东西是每一行代表一个bean。所以列上的七个不同的布尔值意味着七个不同的bean。 – 2012-11-27 21:39:32
JTables将值存储为Object,因此无论是否为布尔值,都可以使用与绑定任何其他值类型相同的方式绑定它们 – Felype 2013-06-03 15:33:38