添加按钮到jtable

时间:2010-07-29 19:43:12

标签: java swing jtable

我有一张表,我必须添加一个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对列中的所有单元格都有相同的按钮实例。因此,如果我单击一个按钮,文本将从“开始”更改为“停止”,但是如果我单击其他行中的按钮则无法正常工作。调试后显示文本已被删除。

我如何在每一行中有不同的按钮实例?

1 个答案:

答案 0 :(得分:1)

@ camickr之前的Table Button Column中引用的文章answer提供了更灵活的解决方案,但您也可以发现教程How to Use Tables: Using Other Editors也很有帮助。这里讨论的ColorEditor部分TableDialogEditDemo,可通过Java Web Start获得。您需要相应地更改相应的ColorRenderer