我继承了AbstractCellEditor这个类,
  public Object getCellEditorValue() {
    return new Button("asdaf");
  }
可是就在单击的时候出现,在点其他地方的时候表格里变成javax.swing.JButton
这是怎么回事?应该如何解决?

解决方案 »

  1.   

    private void setTableCondition(ActTable table)
    {
    ActTextField text = new ActTextField();
    // ActCheckBox checkbox = new ActCheckBox();
    text.setEditable(false);
    text.setEnabled(false);
    table.setFocusable(false); for (int index = 0; index < table.getColumnCount(); index++) {
    if (index == 0) {
    ActCheckBox checkbox = new ActCheckBox();
    checkbox.setHorizontalAlignment(SwingConstants.CENTER);
    editcheckboxAL.add(checkbox);
    table.getColumnModel().getColumn(index).setCellEditor(new ActDefaultCellEditor(editcheckboxAL.get(index)));
    table.getColumnModel().getColumn(index).setCellRenderer(new ActCheckBoxRenderer(SwingConstants.CENTER));
    }
    else {
    table.getColumnModel().getColumn(index).setCellEditor(new ActDefaultCellEditor(text));
    table.getColumnModel().getColumn(index).setCellRenderer(new DefaultTableCellRenderer());
    }
    } }
      

  2.   

    AbstractCellEditor只是在edit的时候才会出现,
    写一个类,实现TableCellRenderer,再装到JTable上应该就好了
    table.setDefaultEditor()
      

  3.   

    不好意思,上面的table.setDefaultEditor()写错了
    是table.setDefaultRenderer()