Você inicializou a lista de linhas? Pq NullPointerException tem um significado bem claro: que ela não foi inicializada. Você deve carregar a lista do banco, e então repassar a lista para seu tablemodel, caso contrário, não funciona mesmo.
Desenhar a tabela é o menor dos problemas. Quando você começar a manter um DefaultTableModel editável, ou precisar personalizar sua tabela com colunas ordenáveis, totais, ícones ou cores ou mesmo ter a coluna de ID escondida, aí conversamos melhor. Todos são problemas incríveis no Default, que são naturalmente resolvidos no seu próprio TableModel.
Vencer a curva de aprendizado é parte do processo. O fato de você perder 1 ou 2 dias aprendendo a usar uma ferramenta da forma correta não é desculpa ou justificativa para permanecer por anos dando murro em ponta de faca da forma incorreta, mesmo que a forma incorreta aparente ser mais fácil. Você vai, sim, perder algumas horas aprendendo a organizar seu projeto de maneira adequada, mas vai ganhar anos de manutenção tranquila.
Vlw parceiro !!
Rs. concordo plenamente contigo. Mas eu sei no fundo que vc teve seus momentos de stress também, por não conseguir ali naquele momento. Mas sei bem do que vc está falando quando diz perder horas estudadndo… !!
Vou verificar sua orientação.
Mas fique certo, meu único objetivo é realmente fazer da forma certa minhas aplicações, pois é algo que amo muito fazer e se amo, tem que ser do jeito certo.
Ah… e vc ainda verá muitos post meus aqui…rs
Mais uma vez muito obrigado.
amigo certa vez me disseram, o GUJ é o melhor lugar para se está, quando se pretende aprender/aprimorar JAVA. Hoje sei por que !!
Vlw muito obrigado !! vamos a luta… ufa lá vai eu mais algumas horas ou dias… sei lá…
mas deixa eu ver se entendi, quer dizer que eu terei que fazer uma TableModel para cada novo grid?
não tem como deixar isso mais genérico?
digo isso pelo seguinte, eu estava usando Default Table Model e uma coisa que gostei foi a possibilidade de caso as dimensões da minha tabela mudem ele se adapta… para entender melhor, estou lendo as informações dessas tabelas de um arquivo XML que eh retornado por um Web Service… não eh só isso que o WS retorna, mas eh um dos casos… e ele pode retornar entre várias tabelas diferentes, com dimensões diferentes… o que eu fazia era ler esse XML, primeiramente os campos (colunas) e depois os dados (linhas)… isso está separado por duas TAGs uma e uma então isso pra minha implementação eh indiferente as dimensões da tabela/grid…
esses dados do XML era lidos para um vetor (colunas) e uma matriz (dados)… e aí eu passava isso para o Default Table Model dessa forma:
DefaultTableModel modelo = new DefaultTableModel(dados, colunas); // dados eh uma matriz (String[][]) - e colunas um vetor (String[])
JTable tabela = new JTable(modelo);
por isso não consegui entender direito a vantagem em usar uma TableModel própria ou a desvantagem de usar uma DTM no meu caso… alguém pode me explicar melhor qual seria a real vantagem para mim e como eu resolveria o problema de ter que criar um TableModel para cada grid diferente que eu tiver… são muuuuuitos grid diferentes que retornam do WS…
Já estou lendo ela, só que enquanto estudo a teoria eu estou vendo um pouco de parte prática, senão não entra na minha cabeça xD.
Eu dei uma estudada na classe e já entendi melhor ela, o que eu preciso fazer agora é colocar as informações que tenho no banco de dados na tabela através de um ResultSet.
Nessa parte do TableModel, é bom que você entenda encapsulamento antes de tentar implementar, pois mais que você ja queira praticar, entender esse conceito é essencial.
Implementei meu próprio TableModel para o meu JTable e funcionou que é uma beleza, muito obrigado pelos exemplos de TableModel. :lol:
Mas, pessoal, e com relação a JComboBox, é legal usar o DefaultComboBoxModel ou tem um modo de implementar um modelo customizado? :shock:
Obrigado.
[quote=Leandro Rocha]Implementei meu próprio TableModel para o meu JTable e funcionou que é uma beleza, muito obrigado pelos exemplos de TableModel. :lol:
Mas, pessoal, e com relação a JComboBox, é legal usar o DefaultComboBoxModel ou tem um modo de implementar um modelo customizado? :shock:
Obrigado. [/quote]
Legal esse modelo, vou testar: http://www.guj.com.br/java/263090-resolvidojcombobox-com-implementacao-de-comboboxmodel
olá ViniGodoy, tem com vc me da uma ajudinha com os metodos da tablemodel
[quote=ViniGodoy]Você inicializou a lista de linhas? Pq NullPointerException tem um significado bem claro: que ela não foi inicializada. Você deve carregar a lista do banco, e então repassar a lista para seu tablemodel, caso contrário, não funciona mesmo.
Desenhar a tabela é o menor dos problemas. Quando você começar a manter um DefaultTableModel editável, ou precisar personalizar sua tabela com colunas ordenáveis, totais, ícones ou cores ou mesmo ter a coluna de ID escondida, aí conversamos melhor. Todos são problemas incríveis no Default, que são naturalmente resolvidos no seu próprio TableModel.
Vencer a curva de aprendizado é parte do processo. O fato de você perder 1 ou 2 dias aprendendo a usar uma ferramenta da forma correta não é desculpa ou justificativa para permanecer por anos dando murro em ponta de faca da forma incorreta, mesmo que a forma incorreta aparente ser mais fácil. Você vai, sim, perder algumas horas aprendendo a organizar seu projeto de maneira adequada, mas vai ganhar anos de manutenção tranquila.[/quote]