Usando JTable  XML
Índice dos Fóruns » Interface Gráfica
Autor Mensagem
The Rogue
Thread.start()
[Avatar]

Membro desde: 16/08/2011 19:08:48
Mensagens: 33
Offline

Bom tarde a todos,

Bom gente estou com um projeto da faculdade que é criar um controle de estoque, nele um determinado produto pode ter associado ao mesmo uma lista de lotes, gostaria de usar o Jtable para ficar esses dados na mesma tela, Lendo o forum li e achei alguns topicos falando com usar o JTable e o alerta avisando a não usar o DefaultTableModel, li esse topicos e acho que consegui entender o motivo, procurando como fazer o propio modelo de Table encontrei o topico:

http://www.guj.com.br/java/199067-redimensionar-jtable---pra-variar--resolvido-/2

Peguei o exemplo do amigo Marky.Vasconcelos li em sua pagina tb: http://markytechs.wordpress.com/2009/05/29/objecttablemodel/

Pesquisando mais ainda encontrei justamente o tópico onde ViniGodoy estava ensinando a como criar o proprio modelo http://www.guj.com.br/java/147521-inserir-dados-da-jtable-no-banco/3, copiei o codigo e tentei fazer algumas adptações para a minha situação porem nao obtive sucesso, gostaria se possivel pudessem me ajudar, creio eu que conseguindo entender como fazer para esse exemplo que eu utilizei conseguirei adptar para o meu controle de estoque.

Segue abaixo o que eu fiz:

Esse sistema em questao, cria um acervo de CD, cada cd possui um Artista, genero, titulo e ano, entao para testar o uso do JTable criei uma tela onde o usuario faz o cadastro dos generos, nessa mesma tela a Jtable seria para exibir os que ja estao cadastrado no banco.

Classe DAO - Classe de conecção


Classe CDDAO - Classe que consulta e retorna a lista de generos do Bancol, essa consulta SQL esta sendo usada tb no combobox da janela de cadastro de um novo cd


Classe Objeto - Tem o objeto CD e os dados que são manipulados nele


Classe Genero - Janela de cadastro do Genero


E Finalmente o Modelo da Jtable



A linhas que estão com erro na classe de modelo são:


PS: O que esta subilinhando é o que aparece em vermelho aqui no Eclipse

Será que seria possivel você me falarem o direcionamento correto para resolver isso?

Desde já agradeço toda ajuda possivel.

This message was edited 1 time. Last update was at 01/02/2012 11:49:37

abmpicoli
JavaTeenager

Membro desde: 27/07/2011 09:11:25
Mensagens: 164
Offline

Cara, Collections é completamente diferente de Collection. Collections é um conjunto de utilitários para mexer com "Collection" s : dá pra dar Sort, busca binária...

E no seu getColumnName, você não está retornando um valor ou lançando uma exceção para outras situações. Se o columnIndex não for COL_DESCRICAO ele não retorna.

E o ArrayList, faltou importar a classe...

No geral, olhando beeem por cima, você tá fazendo certo... São só esses errinhos aí... boa sorte.

This message was edited 1 time. Last update was at 01/02/2012 12:00:48


.x.
The Rogue
Thread.start()
[Avatar]

Membro desde: 16/08/2011 19:08:48
Mensagens: 33
Offline

Valeu amigo, Corrigir o erro no Collection e do ArrayList erro de digitação. Falta de antenção mesmo. So que os outros dois não entendi o que você falou, esse modelo quem criou foi ViniGodoy nesse tópico http://www.guj.com.br/java/147521-inserir-dados-da-jtable-no-banco/3, o metodo ta igual como está la, não consegui entender como resolver.
The Rogue
Thread.start()
[Avatar]

Membro desde: 16/08/2011 19:08:48
Mensagens: 33
Offline

The Rogue wrote:Valeu amigo, Corrigir o erro no Collection e do ArrayList erro de digitação. Falta de atenção mesmo. So que os outros dois não entendi o que você falou, esse modelo quem criou foi ViniGodoy nesse tópico http://www.guj.com.br/java/147521-inserir-dados-da-jtable-no-banco/3, o metodo ta igual como está la, não consegui entender como resolver.
Fexx
Java Ninja
[Avatar]

Membro desde: 22/06/2011 07:29:26
Mensagens: 273
Localização: São Paulo - SP
Offline

Veja esse, um modelo que uso. ver se consegue entender.




E chame assim:


Vc pode iniciar esse metodo no construtor da sua view, assim ele pode exibir os registros quando abrir a sua view.

Boa sorte.

" Se diante de mim não se abrir o mar, Deus vai me fazer andar por sobre as águas"
[MSN]
The Rogue
Thread.start()
[Avatar]

Membro desde: 16/08/2011 19:08:48
Mensagens: 33
Offline

@Fexx

Tentei fazer usando o seu modelo mais não deu certo!! Não entendi na parte que você fala sobre como usar o modelo!! Seria possível explicar melhor?

Não to conseguindo adaptar para minha situação, acho que meu problema é mais de comando do java. Observe que minha classe conexão e separada da que tem a instrução sql da consulta.

This message was edited 1 time. Last update was at 02/02/2012 09:47:33

Marky.Vasconcelos
Moderador
[Avatar]

Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline

Não da para saber quais linhas estão com erro assim, tente isolar o erro e nos mostrar.

PS: Se fosse usar o ObjectTableModel voce nao precisaria criar nenhum outro TableModel.

Facebook @MarkyHitchhiker +Mark WP: MarkyTech's

Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais

DefaultTableModel?! PARE! Não faça isso! Faça melhor!

Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)

Develop games is fantastic, with words you can make worlds!!!

DON'T PANIC!
MarkyHitchhiker's Blog!
[WWW] [MSN]
Guerr@
Virtual Machine Man
[Avatar]

Membro desde: 03/12/2006 10:32:50
Mensagens: 520
Offline

Já tentou usar o SwingBean? http://swingbean.sf.net

-> Vai fazer as tabelas e formulários de forma bem mais simples!

Eduardo Guerra - "É Java na ponta do dedo!"
Desenvolvedor de Frameworks - Pesquisador
Editor Chefe - Revista MundoJ
Professor - Instituto Tecnológico de Aeronáutica
Me siga no Twiter!!! http://twitter.com/emguerra
[Email]
The Rogue
Thread.start()
[Avatar]

Membro desde: 16/08/2011 19:08:48
Mensagens: 33
Offline

Bom galera, fiz as modificações usando o exemplo, porém ele não esta retornando a lista com os campos do banco, sei que esta faltando ele fazer a busca mas eu não sei onde implementar a consulta sql para que ele retorne os valores.

O código da janela ta assim:


O código que chama o modelo no JTable ta assim:


E o código do modelo esta assim:


O problema está em: Que não sei como fazer para fazer o JTable buscar os dados no Banco de Dados.

Tentei fazer assim:

private List<CD> valores = CDDAO.listaGenero();

Sei que não é o certo pq fica cheio de erros dizendo que tenho que mudar os métodos para Static.

@Guerr@
Meu brother vi o link, estou olhando para ver se consigo fazer por ele, desde já agradeço pela dica.

@All
Vlws, pelo o suporte.
abmpicoli
JavaTeenager

Membro desde: 27/07/2011 09:11:25
Mensagens: 164
Offline

O que você está tentando fazer a princípio não está errado, tem que ver é *o que* você está fazendo com o código do CDDAO... Por exemplo, será que você está misturando métodos não estáticos em uma chamada static? Será que a chamada deveria ser algo como

?

.x.
The Rogue
Thread.start()
[Avatar]

Membro desde: 16/08/2011 19:08:48
Mensagens: 33
Offline

Bom, amigo acho que realmente o problema pode ser isso, olha a classe CDDAO




Ele ta como Static

Removi o Static coloquei a linha que você me informou só que é exibida esse erro.
[Thumb - errojava3.jpg]
 Nome do arquivo errojava3.jpg [Disk] Download
 Descrição
 Tamanho 256 Kbytes
 Baixado:  8 vez(es)

abmpicoli
JavaTeenager

Membro desde: 27/07/2011 09:11:25
Mensagens: 164
Offline

Carinha, isso é problema clássico de java, que é tratamento de exceções. O seu DAO pode lançar exceções da classe Exception. Toda classe java tem que tratar ou lançar as exceções que são declaradas nos métodos, como é no caso do seu Dao.
public List<CD> listaGenero() throws Exception

Então, se você for usar o método, você tem que tratar a exceção, ou declarar que seu método lança a exceção também.

exemplo:
List<CD> bla=null;
try {
bla = (new SuaClasseAqui()).listaGenero();
} catch(Exception ex) {
// o que acontece se você não conseguir listar os gêneros? Mostra uma mensagem para o usuário? Ignora?
}

.x.
The Rogue
Thread.start()
[Avatar]

Membro desde: 16/08/2011 19:08:48
Mensagens: 33
Offline

Não consegui adcionar o Try cath para fazer o controle da exception quando é apresentado um erro que falta um } para fechar o metodo. Estou vendo se consigo usar o SwingBean
The Rogue
Thread.start()
[Avatar]

Membro desde: 16/08/2011 19:08:48
Mensagens: 33
Offline

Bom galera, usei o swingbean peguei os exemplos no site para entender, to conseguindo ao poucos fazer alguma coisa, mais como o trabalho do sistema é para a próxima semana não tenho como ficar esperando entender como funcionar corretamente. Então vou usar telas separada para fazer ambos cadastramentos, depois vou ver se estudo mais para conseguir fazer o que eu pretendia.

Desde já agradeço a todos que me ajudaram e me passaram conteúdo para eu conseguir aprender.
Guerr@
Virtual Machine Man
[Avatar]

Membro desde: 03/12/2006 10:32:50
Mensagens: 520
Offline

The Rogue wrote:Bom galera, usei o swingbean peguei os exemplos no site para entender, to conseguindo ao poucos fazer alguma coisa, mais como o trabalho do sistema é para a próxima semana não tenho como ficar esperando entender como funcionar corretamente. Então vou usar telas separada para fazer ambos cadastramentos, depois vou ver se estudo mais para conseguir fazer o que eu pretendia.

Desde já agradeço a todos que me ajudaram e me passaram conteúdo para eu conseguir aprender.


Se tiver alguma dificuldade com o SwingBean, mande um mensagem aqui que tento ajudar!

Eduardo Guerra - "É Java na ponta do dedo!"
Desenvolvedor de Frameworks - Pesquisador
Editor Chefe - Revista MundoJ
Professor - Instituto Tecnológico de Aeronáutica
Me siga no Twiter!!! http://twitter.com/emguerra
[Email]
 
Índice dos Fóruns » Interface Gráfica
Ir para:   
Powered by JForum 2.1.8 © JForum Team