Pessoal, estou com uma dúvida em como faço para colocar um Checkbox por meio de código.Estou utilizando a IDE do NetBeans 6 e sei fazer isso pelas propriedades mas preciso fazer isso manualmente.
DefaultTableModel modelo = new DefaultTableModel();
modelo.addColumn(“tipo1”);
modelo.addColumn(“tipo2”);
jTableTeste.setModel(modelo);
Preciso que a coluna tipo1 seja do tipo Checkbox.
ondreia
Dezembro 11, 2007, 9:51am
#2
Olá,
for (int i=0;i<modelo.getRowCount();i++){
modelo.setValueAt(false,i,0);
}
Cumps
O primeiro passo é parar de usar o DefaultTableModel. Ele foi feito para servir de exemplo, não para código sério.
Dá uma lida nesse tutorial:
http://www.informit.com/articles/article.aspx?p=332278&rl=1
Então, no seu TableModel, faça o método getColumnClass() returnar Boolean.class para a coluna que você quiser que tenha o checkbox. Depois, é só usar valores booleanos nessa coluna!
Onderia, coloquei o seu código
for (int i=0;i<modelo.getRowCount();i++){
modelo.setValueAt(false,i,0);
}
só que esse código coloca false no campo, o que não é o que quero. O que quero é um CheckBox.
ViniGodoy coloquei seu código e o campo ficou com o seguinte valor: class java.lang.Boolean
O que posso estar fazendo de errado?
Pode postar o TableModel aqui?
PS: Tem também um exemplo de implementação de TableModel aqui.
http://www.guj.com.br/posts/list/57203.java#300612
Este é o meu código ao qual está inserido no ActionPerformed do botão unciamente para teste.
DefaultTableModel modelo = new DefaultTableModel();
modelo.addColumn(“Tipo1”);
modelo.addColumn(“Tipo2”);
modelo.addRow(new Object[]{getColumnClass()});
/*
for (int i=0;i<modelo.getRowCount();i++){
modelo.setValueAt(false,i,0);
}
*/
tableExemplo6.setModel(modelo);
Então você não fez o que eu disse.
Você continua usando o DefaulTableModel e não fazendo o seu TableModel, filho de AbstractTableModel;
Você não retornou Boolean.class no método getColumnClass() (para isso, tem que seguir o conselho em #1 );
Você não deve nem sequer ter lido o material que eu te passei.
Veja pelo menos o exemplo que eu deixei ali em cima. Sem aprender a trabalhar com o TableModel, você não poderá trabalhar corretamente com a JTable.
Vou fazer isso ViniGodoy, ontem este link nem sequer abria.O seu post no GUJ foi mas o link da ERRO.
Vou dar uma revisada hj.
[quote=jacquesns]Vou fazer isso ViniGodoy, ontem este link nem sequer abria.O seu post no GUJ foi mas o link da ERRO.
Vou dar uma revisada hj.
[/quote]
Foi mal, o link tava errado mesmo. Problemas no copy&paste.
http://www.informit.com/articles/article.aspx?p=332278&rl=1