Morte definitiva ao default table model  XML
Índice dos Fóruns » Interface Gráfica
Autor Mensagem
d34d_d3v1l
GUJ Ranger
[Avatar]

Membro desde: 17/03/2010 12:08:14
Mensagens: 895
Offline

gente,

Vamo parar com essa bobeira de usar DefaultTableModel, realmente... eu usei uma vez, o vinny me passou uns links para estudar... Peguei um modelo pronto e comecei a usar... NUNCA mais parei.. então vamos ao passo-a-passo?

PRIMEIRA COISA: você deve criar uma classe no seu projeto para ser a classe do modelo... Para fazer isso, basta você adaptar o seguinte código:




SEGUNDA COISA: criar um atributo do tipo do modelo na janela em que a jtable existe:





TERCEIRA COISA: no construtor da janela você vai adicionar o modelo: eis o exemplo:




QUARTA COISA: na hora de adicionar algum "Cliente" no caso na tabela basta fazer:




abraços!
Espero que possa ajudar alguem!

This message was edited 3 times. Last update was at 14/02/2011 17:12:45

heroijapa
JavaChild
[Avatar]

Membro desde: 15/01/2011 16:04:01
Mensagens: 107
Localização: São José dos Campos - São Paulo
Offline

Nunca vai morrer hehehehe

Se tem cara fazendo programa em DOS criando tabela com caracter de || e = ainda, c acha default table model ruim?? huauhahuahuauhhuahauuaha

Sempre tem os defensores inabalaveis contra o default table model, mas ele vai continuar firme e forte hehehehe

Todo newbie vai usar um dia, ta no site da Oracle...

http://marcosfedato.blogspot.com/
@marcosfedato
[WWW]
ADEMILTON
JavaGuru

Membro desde: 29/04/2006 17:53:21
Mensagens: 238
Offline

Todo newbie vai usar um dia, ta no site da Oracle...


Até porque antes de aprender a correr, aprendemos a andar... e antes disso aprendemos a engatinhar
[MSN]
carcara
JavaBaby

Membro desde: 16/02/2009 21:36:05
Mensagens: 85
Localização: berlandia perto da minha araguari
Offline

Toh usando essa danada no netbeans se alguem tiver alguma coisa pra facilitar as coisas seram muito bem vindas.

Preste atenção: tudo o que quiseres te serás dado, mas a teus amigos e inimigos também serás dado em dobro.
Priuli
JavaEvangelist
[Avatar]

Membro desde: 27/12/2007 19:31:45
Mensagens: 373
Offline

Eu utilizo o ObjectTableModel do proj Towell, gostei bastante, muito simples de usarr..
segue link: http://code.google.com/p/towel/wiki/ObjectTableModel

This message was edited 1 time. Last update was at 02/02/2011 08:29:03


Projetos:
OpenSutils-Br4J - http://code.google.com/p/opensutils-br4j/

Priuli-Filter - http://sourceforge.net/projects/priuli-filter/

Certificação:
OCPJ 6 90%
[Email]
mrrbigu
Debugger
[Avatar]

Membro desde: 06/12/2007 17:45:50
Mensagens: 66
Localização: Espírito Santo
Offline

Também uso a ObjectTableModel do projeto Towel do Marky e recomendo.
Eric Yuzo
GUJ Ranger
[Avatar]

Membro desde: 25/10/2009 20:36:30
Mensagens: 956
Localização: São Vicente - SP
Offline

ADEMILTON wrote:Até porque antes de aprender a correr, aprendemos a andar... e antes disso aprendemos a engatinhar

Seguindo esta analogia, eu diria que o DefaultTableModel representa uma fase antes desta, aquela em que temos que chorar.

O importante mesmo é ser feliz!

DevSV
[WWW]
Eric Yuzo
GUJ Ranger
[Avatar]

Membro desde: 25/10/2009 20:36:30
Mensagens: 956
Localização: São Vicente - SP
Offline

Ao d34d_d3v1l, excelente iniciativa abandonar o DefaultTableModel.

Quanto ao model postado, apenas algumas dicas:

O método setValueAt deveria setar o valor de um campo do Cliente, correspondente a célula passada por parâmetro. Ficaria mais ou menos assim:
Porém, com o método isCellEditable retornando sempre false, ele acabará não sendo usado.

E faltou retornar o Cliente no método getCliente:

O importante mesmo é ser feliz!

DevSV
[WWW]
jperondi
Debugger

Membro desde: 23/07/2009 22:26:21
Mensagens: 74
Offline

comecei a refatorar mru projeto usando as proprias o Table model "Local", tem um ganho bem significativo com relação ao desempenho da maquina!
a unica coisa que nao consegui resolver é como se pegao registro depois da tabela filtrada...
se alguem souber disso, posta ake tbm
(=

Hibernate User
[MSN]
d34d_d3v1l
GUJ Ranger
[Avatar]

Membro desde: 17/03/2010 12:08:14
Mensagens: 895
Offline

Eric Yuzo obrigado, já fiz as mudanças necessárias

Realmente gente, concordo... Sempre haverá quem está no começo vai usar o DefaultTableModel... mas a intenção é que eles larguem de usá-lo ao ver este tópico...
d34d_d3v1l
GUJ Ranger
[Avatar]

Membro desde: 17/03/2010 12:08:14
Mensagens: 895
Offline

dei uma modificada no tableModel,

coloquei um mais recente e criei um novo método para modificar os dados de uma linha...
Abraços!

Vamos abandonar o DefaultTableModel? Criando o seu próprio modelo irá 'gerenciar' sua jTable de forma mais fácil... Não use o DTM:
http://www.guj.com.br/java/231928-morte-definitiva-ao-default-table-model

Meus projetos
Sugestões e críticas são bem vindas:
http://www.nortev.net63.net/projetos


Att.,
Marco Túlio Jacovine Noronha
aprJava
Thread.start()
[Avatar]

Membro desde: 03/03/2012 11:03:17
Mensagens: 34
Offline

posta o codigo ae pra nois ver como ficou! se possivel! valeuuu!!!!
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20587
Localização: Curitiba/PR
Offline

ADEMILTON wrote:Até porque antes de aprender a correr, aprendemos a andar... e antes disso aprendemos a engatinhar


Na verdade, isso é conversa para boi dormir.

Eu atendo o tópico de Java Básico e Interface Gráfica no GUJ há pelo menos 5 anos (se não for mais do que isso). Desde lá, vejo muitos iniciantes gastando horas para realizar operações como remover registros, sincronizar o Default com dados do banco ou mesmo replicar buscas. Tarefas que o DefaultTableModel torna difíceis e enfadonhas.

Entretanto, a maioria se apavora só de olhar para um TableModel, só por achar o código mais complicado. A maioria, refuta o estudo antes mesmo de começar. Não sei se por medo ou por preguiça.


O que o povo não percebe é que o código do TableModel personalizado é tudo o que se precisa para fazer uma tabela editável. E, se o sujeito parar para entender, vai ver que as implementações dos métodos são efetivamente triviais. Na interface gráfica, os códigos de botões, que usam um model personalizado, ficam extremamente ridículos. De fato, se você pegar todo o código que o DefaultTableModel deixou espalhado nos vários métodos de botão, vai ver que você gastou muito mais linhas, tempo e esforço em operações que, num model de verdade, nem sequer existiriam.


O único iniciante que realmente pode usar essa desculpa é aquele que ainda nem sequer sabe modelar classes de negócio. É o caso de alguns que aparecem por aqui, colocando resultados de consultas diretamente em tabelas, no bom e velho estilo das linguagens estruturadas. Mas não são todos, e também não são a maioria. O que realmente me impressiona é que muita gente que está disposta a entender o modelo MVC, Hibernate e que em web usariam um design elegante, ainda que complexo, foge do TableModel personalizado quando vai para o Desktop. Vai entender.

This message was edited 4 times. Last update was at 07/03/2012 12:18:42


@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
cleber_prog
Thread.start()
[Avatar]

Membro desde: 14/06/2010 16:21:11
Mensagens: 33
Offline


Meus prezados, bom dia

Quero usar jtableModel corretamente, por isso estou estudando a fundo toda a classe do link http://www.guj.com.br/java/231928-morte-definitiva-ao-default-table-model. Mas eis a minha dúvida

onde diz List<Cliente> linhas; eu sei que se trata de um objeto. Porém não sei que objeto é esse. é uma classe ? um resultado de consulta SQL ?

o que eu faço ? com essa linha ? (desde já perdoe a minha ignorância e muito obrigado!)

Alguem poderia esclarecer pra mim o que é e se for pra receber um objeto do tipo ResultSet como faço para enviar para essa classe ?




[Email] [MSN]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20587
Localização: Curitiba/PR
Offline

É uma classe que contém os dados dos clientes. Imagine que essa lista em algum momento foi carregada do banco, por algum DAO.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
 
Índice dos Fóruns » Interface Gráfica
Ir para:   
Powered by JForum 2.1.8 © JForum Team