Я использую DefaultTableModel следующим образом:
DefaultTableModel model = new DefaultTableModel (COLUMNS, 0 )
{
@Override
public boolean isCellEditable(int row, int column)
{
return (getColumnName(column).equals("Selected"));
}
public Class getColumnClass(int columnIndex)
{
if(getColumnName(columnIndex).equals("Selected"))
return Boolean.class;
return super.getColumnClass(columnIndex);
}
};
Теперь я хочу, чтобы в столбце «Выбрано» можно было выбрать только один флажок. Как это может быть сделано. Я также пробовал следующий метод, но он не работает.
public void fireTableCellUpdated(int row,int column)
{
if(getColumnName(column).equals("Selected"))
{
for(int i = 0; i<getRowCount() && i!=row;i++)
setValueAt(Boolean.FALSE, row, column);
}
}
Exception
или другую полезную информацию? Что ты видишь? - person mthmulders   schedule 30.07.2013StackOverFlowException
, потому чтоsetValueAt()
приведет к вызовуfireTableCellUpdated()
, который снова вызывает первый. - person kiheru   schedule 30.07.2013