Modelo de Tabela com JCheckBox - Poder escolher apenas 1 check da tabela!
9 respostas
Alchemist
Pessoal to com uma duvida simples, eu tenho este modelo para a minha tabela, a primeira coluna contem um check box, eu queria travar de modo que o usuario possa só escolher um check…
Pessoal outra pergunta rapida para aproveitar o topico!!
esta minha tabela tem 4 colunas !
ITEM que é JCheckBox | INSTITUICAO | TIPO RELATORIO | ANO
eu gostaria de saber se é possivel passar um id oculto para o model, queria pegar este id quando o usuario clicar no botão de gerar o relatorio… n sei se deu para entender a idea !!
Para usa idéia, não seria melhor retornar um objeto do tipo GerarRelatorio diretamente?
Marky.Vasconcelos
Primeiro… extends AbstractTableModel. Não DefaulTableModel.
Voce pode criar um método getObject nesse TableModel que retorne o objeto na posicao indicada. Voce nao vai ter só o id mas o objeto inteiro.
Para o caso dos CheckBoxes… voce pode criar um ButtonGroup e adicionar todos lá… ele só permite que um seja selecionado. (Não sei se funciona pra CheckBoxes levei como base que funciona igual ao RadioButton)
Alchemist
cara sera que vc pode dar um exemplo de getObject ?
Quando eu debugo dentro do TableModel que eu fiz ele esta retornando o objeto certinho porem n esta chegando até o “teste21”
:S alguma ideia ?
ViniGodoy
É impresão minha ou vc ignorou meu post?
Tem diversos detalhes ali que seu código simplesmente passa por cima.
Não use Vector, use ArrayList;
Elimine a variável listaGerarRelatorio, use só a variável vetor. Fica muito sujeito a erros e confuso você se basear em dois objetos distintos para fazer um model só. Usar a listaGerarRelatorio também viola o encapsulamento, já que seu usuário pode modificar essa lista por fora do model. Você também usa seu get baseado em vetor, mas seu size baseado na listaGerarRelatorio, o que é uma péssima prática;
Se só um campo estará setado como true, não tem pq vc ter um vetor inteiro de booleans. Guarde só a linha que é true e pronto. Faça o model tratar o resto.
Alchemist
Vini muito obrigado pelas dicas, eu consegui utilizar o metodo que vc disse para inplementar.
E tentei arrumar com as outras dicas o meu codigo.
eu não consegui entender quando vc disse :
como eu faria isto ? Estou aprendendo agora a fazer um TableModel