JTable

Alguém poderia me dizer como faço para colocar numa JTable que a linha e a coluna não seja editada??? no caso da coluna que não permita que o user mova ela do seu lugar.

Oi,
Bom…
existe a seguinte maneira, que não é aconselhavel, porem funciona…
ela só não é aconselhavel pois quando você quiser editar alguma coluna, não vai conseguir =)

Lá vai:

//
// cria a tabela.
//
tabela	=	new	JTable(new DefaultTableModel()
{
     public boolean isCellEditable(int row, int column)
     {
              return false;
     }			    		
});

Olha, uma dica… de uma olhada no Construtor do JTable, que tem varios métodos legais e dificeis e bem mais interessantes para serem usados!

Tchauzin!

Opa,
Respondendo a segunda pergunta…

nomeTabela.getTableHeader().setReorderingAllowed(false);

Hmmm… moça bonita e inteligente… interessante… :oops:

[quote=paulorb.pacheco]Opa,
Respondendo a segunda pergunta…

nomeTabela.getTableHeader().setReorderingAllowed(false);

Hmmm… moça bonita e inteligente… interessante… :oops: [/quote]

E vc acredita que a foto é dela mesma…tb acredita em Papai Noel, duendes e gnomos? :lol:

:shock: hahaha … acredito em papai noel, me trouxe presentes essa semana… :lol:

é brincadeira… :stuck_out_tongue:

[quote=clodoaldoaleixo]
Hmmm… moça bonita e inteligente… interessante… :oops:

E vc acredita que a foto é dela mesma…tb acredita em Papai Noel, duendes e gnomos? :lol:[/quote]

Que preconceito ridiculo, só pq ela manja muito mais q muito “barbado” (se é q são adultos) aqui. Na empresa onde trabalho tinha duas mulheres (uma lindinha por sinal) que mandavam muito bem em java.

Hmmm… JTable que é o assunto do tópico, nada? :?

Obrigado a todos pelas respostas, a dica do paulorb.pacheco funcionou, mas a da lina não, quando coloco o exemplo de código ele não me retorna nem colunas nem linhas, talvez não tenha explicado direito, está o seguinte o user pressiona o botão de abrir e adiciona arquivos na JTable, só que os dados adicionados podem ser alterados quando clicados encima deles eu naum quero isso, eu quero que os dados adicionados não possam ser editados nas linhas…

Alguém pode me ajudar…

Abraços!!!

Estranho… O jeito como a lina colocou é o jeito mais comum de se evitar que todas células da tabela sejam editáveis…
Certifique-se de que no momento em que vc instancia sua tabela, vc está fazendo como a lina sugeriu. Aqui deveria funcionar, pois ali está sendo criado uma classe anônima que extende DefaultTableModel e sobrescreve o método isCellEditable, fazendo com que seja qual for row ou column, retorne-se false. DefaultTableModel é uma classe que implementa a interface TableModel. A classe JTable utiliza um objeto TableModel para, entre outras coisas, verificar se uma determinada célula é editável ou não. A classe JTable faz essa verificação “perguntando” ao seu TableModel, atrávez do método isCellEditable, se a célula na linha row e coluna column é ou não editável. Como a tabela foi criada com um TableModel que para essa “pergunta” sepre retorna false, nenhuma célula seria editável.
Por isso creio que não tenha utilizado a dica da lina corretamente.

Pior que é.Ou é algum fã fazendo propaganda dela.Veja a página no fotolog.
Pessoal, segura a onda e sem sexismos sim!Piadinhas de casamento podem desde que não ofendam a moral da moça.E encorajamos a usar a PM para isso.
Lina, o pessoal aqui parece que fica alguns anos sem ver mulheres e acabam tendo problemas com isso.Encare na esportiva. :wink:

rafaelt,
já pensou na possibilidade de implementar um novo TableCellEditor mexendo no getTableCellEditorComponent?Cadê o brlima que é um Deus do Swing? :smiley:

Blz pessoal consegui fazer, obrigado Lina, Mantu a todos, estava fazendo errado mesmo, instanciei a JTable ao invés do modelo, ai estava dando errado.

Abraços,
Rafael

Pessoal aproveitar o tópico pois tenho outra dúvida sobre JTable, quero saber como faço pra remover todas as linhas de uma vez só através de um JButton…???

Obs.: O JButton eu já criei hehehe.

Se vc usou o “javax.swing.table.DefaultTableModel” como modelo…

javax.swing.table.DefaultTableModel modelo = (javax.swing.table.DefaultTableModel) tabela.getModel();
        for(int i = 0 ; i <  tabela.getRowCount(); i++){
            modelo.removeRow(i);
        }

Bom eu não sei se vc usou outro modelo pra JTable isso funciona ou não…

[quote=paulorb.pacheco]Se vc usou o “javax.swing.table.DefaultTableModel” como modelo…

javax.swing.table.DefaultTableModel modelo = (javax.swing.table.DefaultTableModel) tabela.getModel();
        for(int i = 0 ; i <  tabela.getRowCount(); i++){
            modelo.removeRow(i);
        }

Bom eu não sei se vc usou outro modelo pra JTable isso funciona ou não…[/quote]

Blz veio, já tinha conseguindo, mais foi algo parecido hehehe brigado pela resposta.
Abraços…
Rafael