Projeto Towel: AutoFiltro em JTable

Os models trabalham com listas de objetos. O hibernate carrega essas listas.
Então, sim, é possível interoperar um com o outro tranquilamente.

Muito obrigado Vini.
Estou procurando no forum a respeito do assunto, caso você ou outro user guj tenha algum link que se baseou para fazer essa implementação com hibernate e puder passar, ficaria grato.

Os models trabalham com listas de objetos. O hibernate carrega essas listas.
Então, sim, é possível interoperar um com o outro tranquilamente.[/quote]

Voce não precisa mudar nada no model para funcionar com Hibernate, voce não pode misturar essas duas coisas.

Em algum lugar voce deve consultar com o hibernate os dados, pegar a List de objetos que ele retorna e passar para o model.

Marky, muito obrigado pela respota.
Gostaria de parabenizá-lo e ao Vini, pelos projetos referentes ao JTable, é muita dor de cabeça para quem inicia.

Irei buscar mais informação sobre o assunto, quando implementar, posto o agradecimento.

[quote=Marky.Vasconcelos]Voce não precisa mudar nada no model para funcionar com Hibernate, voce não pode misturar essas duas coisas.

Em algum lugar voce deve consultar com o hibernate os dados, pegar a List de objetos que ele retorna e passar para o model.[/quote]

ola Vini

kara vi q tu manda bem em table

kara to tentando implementar uma table com um combobox, vc por acaso teria um exemplo funcionando ?

pq todos os exemplos que achei a combo não fica selecionada o item que eu escolhi, sempre volta para o inicio

abc

Que tal criar um tópico sobre o assunto ao invés de pegar carona nesse, ou enviar MP?

ViniGodoy,

Pelo que tenho notado vc e o Mark são referência quando o assunto é JTable! (minha opinão)
Então, por que não fazer um artigo mostrado as boas práticas da JTable (que considero o componente mais complexo do swing), este artigo poderia mostrar e solucionar os erros mais frequentes postados no forum e assim juntar tudo em um unico documento.

Imagine os benefícios que seria para os desenvolvedores iniciantes e até mesmo pra vc, servir de referencia quando o assunto é JTable. Além disso, com este suposto artigo poderiamos referencia-lo sempre que alguém entrar no forum peguntando sobre JTable. Q tal?

Claro entendo que nisso tudo existe a questão do tempo. Por isso fica a dica.

Ola!

Gostaria de colocar um JButton em uma das minhas colunas sei (pelo menos acho) que tenho que sobrescrever o método getRenderer() só não sei como!

Sendo mais preciso a minha duvida é como ficaria o método getRenderer() para asseitar JButton. (se não é pedir muito)

se for pelo menos me indicam algum material que ensine a criar um objeto TableCellRenderer para que eu consiga pelo menos tetar sobrscrever

até!

Oi. Crie um tópico para a dúvida.

Ok. Desculpa por postar no lugar errado é que sou novo por aqui!

até!

Vini, esse seu modelo tem algum método que me retorna a lista da forma que o usúario ordenou?

Pois eu preciso gerar um relatório em PDF (utilizei o IReport) dos dados ordenados no meu jtable. Então eu preciso passar esse parâmetro na hora que eu for mandar gerar.

Se minha dúvida for caso de abrir um novo tópico me avise por favor. Eu ainda não sei mto bem onde colocar minhas dúvidas.

Obrigado desde já.

Quanto à abrir ou não um tópico. Seu assunto se refere ao meu TableFilter, então, é por aqui mesmo que eu respondo. É que o povo vem pegar carona para coisas de JTable que não tem nada a ver com o tópico original.

Sim, existe o método getFilteredRows(). Ele retorna uma lista com os índices que sobraram após o filtro, na ordem que sobraram. Aí basta pedir esses índices ao model.

Entendi Vini. Mas o metodo get do tableModel só aceita 1 integer como parâmetro. Como eu vou passar uma lista para ele?
Eu verifiquei os outros métodos e não consegui identificar nenhum que receba a lista dos índices e me devolva a lista com o objeto.

Eu tentei assim.

List<Comunicacao> lista = tableModel.get(tableFilter.getFilteredRows());

Vc pode me exemplificar fazendo favor. É erro de iniciante, mas logo eu chego lá.

Obrigado.

Tem que fazer um foreach mesmo e montar outra lista. Mas tem razão, seria interessante ter esse método já direto no TableFilter.

List&lt;Comunicacao&gt; lista = new ArrayList&lt;Comunicacao&gt;(); for (Integer index : tableFilter.getFilteredRows()) { lista.add(tableModel.get(index.intValue()); }

Obrigado Vini, funcionou perfeitamente.

Olá Vini.

Desculpa encher o saco novamente, mas como estou utilizando seu modelo em um projeto aqui na empresa, estou propenso a dúvidas.

Bom, eu gostaria de saber se no filtro tem alguma configuração diferente para dados do tipo inteiro ??

Pois tive um problema quando mandei ordenar tanto de forma crescente como decrescente.
O filtro ordenou, mas ele ordenou de acordo com o elemento da esquerda e não pelo número ser maior ou menor que o outro.

Ex.:

8
7
5
33
2
18

Quando os números tem apenas uma casa decimal ele ordena perfeitamente, mas quando tem duas ou mais acontece isso.
Se vc quiser até te mando um print do problema. Eu tentei colocar o print aqui mas não consegui.

Obrigado.

Ola!

Só uma perguntinha simples, existe um método que permita só o personalizar do seu TableFilter (que não permita ordenar) é que tenho uma coluna Documento que seria bom permitir que o usuário filtrasse por documento

caso não aja poderias me dar uma dica de como criar um método que faça isso no seu TableFilter

caceres dando um palpite no seu problema. Ele deve ta acontesendo porque a Class da coluna deve estar como String e NÃO Integer
deve ser isso mais só foi chute!

até!

Isso não tem, e não é muito trivial de implementar. Mas qual é o problema de deixar ele também ordenar por documento? O filtro e a ordenação são operações separadas.

É isso Vini?

Na verdade meu javabean que se relaciona com a classe Columns esta correto (string onde é string e int onde é int).

No aguardo.
Obrigado.

Como está o seu TableModel (ou seus Columns)? É ele que indica como as colunas devem ser ordenadas.
E tem sim, um tratamento especial para inteiros.