JTable

12 respostas
rochribre

Criei um JTable onde existem 3 campos sendo o primeiro Boolean, vamos supor que existem 10 dados inserido no
JTable e quero criar um botão para quando selecionar os dados do JTable do campo Boolean que virá como false de Defalt e agora estarão como true, esse botão fará o processo de limpar somente as linhas que tem o campo boolean como true. Existe algum jeito facil de fazer isso.

12 Respostas

ViniGodoy

Tudo depende de como o Model do seu JTable está implementado.

Se você estiver usando o DefaultTableModel, meus pêsames, vai ser difícil de qualquer jeito.

M

cara, se voce criar um jTable do zero fica barbada…
cria um Vector com itens e depois altera os ítens e da um refresh na tabela…
se precisar de algum exemplo posso te passar…

ViniGodoy

Claro, isso se vc estiver usando o Java 1.1 ou inferior.

Desde o Java 1.2, não se deve usar mais a classe Vector, e sim ArrayList. Desde a 1.2 Vector é considerado “Legacy” code e é mantido na API do java só por questões de compatibilidade.

F

po sacanagem ;/
gosto tanto do vector =~
haehaehaeha

vei jtable é por default meio complicada de se mexer, mais existe um metodo… que se nao me ingano eh rowsorter, que tu pode sobreescrever o metodo compare dele e deixar ativo soh as linahs que tenhan um true

depois digo certinho a classe e ponho um exemplo gora to mei osem tempo XD

L

Cara, to usando o DefaultTableModel sim. É que eu ainda não sei como criar outro modelo.
Se alguém tiver algum código ajudaria mto!
Valeu!

ViniGodoy

luisborsari:
Cara, to usando o DefaultTableModel sim. É que eu ainda não sei como criar outro modelo.
Se alguém tiver algum código ajudaria mto!
Valeu!

Veja:
http://www.guj.com.br/posts/list/98452.java#530523

Não deixe de ler esses ótimos artigos sobre o assunto:
http://www.informit.com/articles/article.aspx?p=332278
http://www.informit.com/articles/article.aspx?p=333472

E essas classes espertinhas pra lidar com JTable:
http://www.guj.com.br/posts/list/100793.java

F

oq exatamente vai nessa jtable?

uma lista de objeto?
como tu estas alimentando a table?

L

Muito obrigado.Vou estudar!

Valeu mesmo!

L

Filipe, vai só String,int e Double mesmo. Eu faço a consulta no banco de dados e coloco tudo na JTable por meio de uma matriz de String.Passo tudo do ResultSet para a matriz e apresento ja tela.Só que o nome das colunas não aparece de jeito nenhum!

F

o.O gora tu me confundiu mais … se eh uma matriz de string… como tu via passar um boolean o.O

ja pensou em fazer um objeto? ai cria uma lista de objetos com teu result set, eh muito mais facil de manipular, e de colocar na jtable

L

Cara, sinceramente eu não entendi a utilidade do boolean…

rochribre

Explicarei o que eu queria fazer, pois agora consegui com DefaultTableModel, Obrigado pelas dicas.

A Imagem anexada explica o que eu quero fazer.

No botão Limpar imbuti esse codigo abaixo:

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//Gerando uma Pergunta para o usuario.

Object[] options = {SIM, CANCELA };

int valorDeResposta = JOptionPane.showOptionDialog(null, Deseja realmente apagar os campos selecionados!”, Cuidado, JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, options, options[0]);

//Verificando a resposta

if(valorDeResposta == 0){

int cont = 0;//Criando um contador

DefaultTableModel dtm = (DefaultTableModel)tabela.getModel(); //Criando um Modelo

while(cont < tabela.getModel().getRowCount()){//Navegando na tabela

if(tabela.getModel().getValueAt(cont, 0).equals(true)){

dtm.removeRow(cont);//Removendo os campos true

}

++ cont;

}//Fim do While

}//Fim do If

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Precisava limpar linhas de uma tabela selecionada.

Criado 9 de janeiro de 2009
Ultima resposta 12 de jan. de 2009
Respostas 12
Participantes 5