我有一个表,我必须在其中添加一个JButton。
TableColumnModel colModel = table.getColumnModel();
colModel.getColumn(0).setCellEditor(new MYCellEditor(new JCheckbox()));
MyCellEditor extends DefaultCellEditor{
public MyCellEditor(JCheckbox checkbox){
super(checkbox);
Jbutton button = new JButton("Start");
//actionlistener for button.
}
}
MyRenderer extends DefaultTablecellRenderer{
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
//return a button for column ==0
}
我的理解是Celleditor对一列中的所有单元格都有相同的button实例。所以,如果我点击一个按钮,文本从“开始”变为“停止”,但如果我点击另一行的按钮,它就不起作用了。。调试后显示文本为alreadt Stop。