JComponent in JTable

2 respostas
wallacetepes

Não achei um tópico com o assunto que seja atual o bastante...

Estou tendo 1 problema com JXTable (Extensão de JTable) do pacote SwingX. Estou tentando adicionar 1 botão a uma célula dessa tabela com o seguinte código:

import javax.swing.*;
import javax.swing.table.*;

public class JTableComponentRenderer extends JButton implements TableCellRenderer{

    public JTableComponentRenderer() {
        super();
    }

    public JButton getTableCellRendererComponent(JTable table, Object color, boolean isSelected, boolean hasFocus, int row, int column) {
        return this;
    }

}

O uso dessa classe é feito do segunte modo:

...
JTableComponentRenderer renderer = new JTableComponentRenderer();
jXTable1.getColumn(5).setCellRenderer(renderer);
...

O botão aparece mas ele fica estático, além de ficar sem aquele efeito quando tem o click, também não recebe foco, nem processa evento... Algué, faz alguma idéia de como solucionar isso?

2 Respostas

brlima

[chute]
não lembro, mas acho que tem q ser com o celleditor. render só “pinta”… e setClicktoEdit como 1… algo assim…
[/chute]

wallacetepes

brlima:
[chute]
não lembro, mas acho que tem q ser com o celleditor. render só “pinta”… e setClicktoEdit como 1… algo assim…
[/chute]

implementei a interface CellEditor e coloquei o metodo:

Para retornar o meu objeto JComponent :

public JComponent getCellEditorValue() { return this; }

Só não consegui descobrir o meio de como aplicar o objeto na tabela, nem como utilizar o método setClicktoEdit.

Poderia me explicar melhor a sua ideia?

Criado 6 de maio de 2009
Ultima resposta 8 de mai. de 2009
Respostas 2
Participantes 2