Como inserir um botão em uma célula da tabela?

Olá pessoal!

Estou criando uma tabela e tenho que colocar em uma determinada célula um botão para abrir um JInternalFrame.

Tudo bem, pode ser simples e eu posso encontrar tudo isso no Google, mas o problema é muito maior. Já peguei um exemplo na internet e funcionou, mas não para o que queria.

É o seguinte, tenho um arquivo em XML a ser preenchido a partir da tela. Até aí tudo bem. Mas esse XML será criado a partir de uma “reunião” de classe.

A estrutura é mais ou menos essa:

Game
   |-- Tema (Objeto qualquer)
   |-- Questoes (Collection)

O que está acontecendo é o seguinte, quando eu “itero” utilizando reflexão (tem que ser genérico) e o tipo do objeto que estou buscando é uma coleção, ele tem que colocar um botão na célula da tabela que ele está criando dinamicamente. E isso não está acontecendo. Ele está criando um botão em cada célula da tabela.

Alguém pode me ajudar? Se não puder me ajudar para resolver o problema, pelo menos me explica como posso fazer para adicionar um botão em uma célula.

Muito obrigado a todos.

botão na celula tem uma “tenica” bem simples: cria um cellRenderer, desenha um botão no lugar do textfield. Não permita edição nessa celula, e implementa um mouseEvent na JTable para quando clicarem nessa coluna…

Daí vc tem o click , e linha, é so chamar o método para abrir a janela…

no CellRenderer, lá no método getCellRendererComponent ( ou algo do tipo ), retorna um new JButton("…").

Obrigado brlima!

Testei a sua sugestão, mas para o que eu quero ainda não funcionou.

Tipo assim, quando eu uso isso que você sugeriu, eu tenho que setar um DefaultTableColumnModel. Com isso eu não tenho a opção de colocar o botão apenas em uma célula, mas ele coloca todas as células de uma coluna como botão.

Não sei se ficou muito claro, mas é mais ou menos isso:
quando eu utilizo o que você sugeriu, a coluna que tem q ter uma única célula com um botão fica com toda a coluna preenchida de botões.

O que eu quero é inserir um botão em uma única célula. Não estou conseguindo.

Tem alguma outra sugestão? Ou eu que não compreendi direito a sua sugestão?

Mesmo assim, muito obrigado. Mais alguém?