Проблемы с добавляют JButton в таблице

Я добавляю Jbutton к таблице классом extendibg AbstractCellEditor. Но по щелчку кнопки текст не изменяется от "Запуска" до "Остановки" .here, класс, который я реализовал

     public class ButtonEditor1 extends AbstractCellEditor implements     
      TableCellEditor,ActionListener,TableCellRenderer{

       JButton btnSTART =  new JButton("START");
        private JTable table ;

     public ButtonEditor1(JTable table){
    this.table = table;
    btnSTART.addActionListener(this);
    }
public Component getTableCellEditorComponent(JTable table, Object value,
        boolean isSelected, int row, int column) {

    return btnSTART;
}

public Object getCellEditorValue() {
    // TODO Auto-generated method stub

    return btnSTART;
}

public void actionPerformed(ActionEvent e) {
    int row = table.getSelectedRow();
    if(btnSTART.getText().equals("START")){
        if(row != -1){
            btnSTART.setText("STOP");
        }
    }else if(btnSTART.getText().equals("STOP")){

        if(row != -1){
            btnSTART.setText("START");
        }
    }
    fireEditingStopped();
}
public Component getTableCellRendererComponent(JTable table, Object value,
        boolean isSelected, boolean hasFocus, int row, int column) {
    return btnSTART;
}

}

что я делаю неправильно.. У меня есть Образцовый класс, который берет столбец в качестве JButton и переопределил метод setValueAt и getValueAt.

1
задан harshit 2 August 2010 в 14:55
поделиться

1 ответ

JTable использует средства визуализации для отображения данных. После того, как вы щелкнете по ячейке, используя кнопку в качестве редактора, редактор кнопок вызывается на долю секунды, а затем ячейка возвращается в режим рендеринга. Поэтому, если вы хотите изменить текст, вы меняете значение в модели.

2
ответ дан 2 September 2019 в 22:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: