É possível incluir JButton em uma JTable?
Pergunta
Eu tenho uma JTable que armazena os resultados de uma consulta de banco de dados, até aí tudo bem. O que eu quero é que a última coluna em cada tabela para ter o botão de um JButton clickible que irá abrir a tela de edição para o objeto representado nessa linha, e isso significa que precisa saber os detalhes da primeira coluna na tabela a partir de sua própria linha (o ID do banco de dados).
Qualquer conselho? Eu já tentei JButtons apenas adicionando mas eles se transformou em texto quando tentei executá-lo.
Solução
Ao contrário do tutorial acima, há uma maneira de fazer isso sem uma matemática complicada posicionamento, os ouvintes rato feitos sob encomenda, e os modelos de mesa personalizado. Em vez disso, ele pode ser feito com uma única classe personalizada simples seguindo o padrão descrito aqui:
Outras dicas
Você também pode encontrar o meu tutorial sobre um assunto semelhante (neste caso, usando um JPanel) útil também: celular personalizado JPanel com JButtons em JTable
Dê uma olhada na introdução da Sun para o componente JTable
, especificamente, a seção sobre Editores e Renderers . Discute-se o uso de alternativa CellRenderers
, e CellEditors
. O que você precisa fazer é criar (ou pedir emprestado) um ButtonCellRenderer
e uma ButtonCellEditor
e depois aplicá-los para a coluna em questão na sua JTable
. Os exemplos encontrados nos artigos ligados deve dar-lhe todas as informações que você precisa.