Preface: I am horrible with java, and worse with java ui components.
I have found several different tutorials on how to add buttons to tables, however I am strugglin
Here's a simple rather elaborate example using a TableCellRenderer
and TableCellEditor
. See also, Concepts: Editors and Renderers.
Addendum: @Jay Askren's point is well taken. The default renderer for Boolean.class
, as described in the tutorial, may be all you need.
The easiest solution is to use the DefaultTableModel and use Boolean object as values.
In the Swing Designer set column type to boolean
There's no need to create your own table renderer. Here's a simpler example. Just create a custom table model and for a given column return the class Boolean for:
public Class getColumnClass(int column)
If you want the column to be editable, return true for
public boolean isCellEditable(int row, int column)
JTable takes care of the rendering for you.
Another example is here.
As Peter say, its easy using extended DefaultTableModel class, ex:
class NewTableModel extends DefaultTableModel{
public Class<?> getColumnClass(int columnIndex) {
return getValueAt(0, columnIndex).getClass();
}
}