Montar Tabela Especifica

Bom dia Estou repostando minha dúvida mais detalhadamente,

Tenho um projeto no qual possuo modelos de JTable para montar minhas tabelas, até o momento tem me atendido bem ao gerar tabelas.

Possuo três modelos até o momento ImpressoraTableModel , SuprimentoTableModel , UsuarioTableModel no qual monto a tabela completa desses três. Apareceu a necessidade de unificar essas informações, Por exemplo preciso montar uma tabela que contenha Usuário, Suprimento e Impressora como vocês recomendariam que eu fizesse sem precisar criar um quarto modelo para JTable?

No Pacote DAO possuo:
ImpressoraDAO (me retorna informações da tabela impressora),
SuprimentoDAO (me retorna informações da tabela Suprimento),
UsuarioDAO (me retorna informações da tabela Usuário )

No momento cada modelo (ImpressoraTableModel , SuprimentoTableModel , UsuarioTableModel ) estendido de AbstractTableModel está recebendo uma List em seu construtor vindo da DAO.

ImpressoraTableModel

UsuarioTableModel

Atualmente tenho as tabelas:

UsuarioTableModel

inserir a descrição da imagem aqui

SuprimentosTableModel

inserir a descrição da imagem aqui

ImpressoraTableModel

inserir a descrição da imagem aqui

minha intenção é formar uma tabela que contenha Atributos de ImpressoraTableModel, SuprimentoTableModel e UsuarioTableModel sem precisar montar outro modelo, da forma que está atualmente eu simplesmente gerei as tabelas usando um modelo para cada uma. Queria fazer de uma forma mais correta.

A tabela ficaria mais ou menos assim:

{idSup, suprimentoNome , impressora , total , gastos , novo , usado}

idSup, suprimentoNome, total, gastos, novo, usado é atributo da classe SuprimentoTableModel e impressora é atributo da classe ImpressoraTableModel.

Espero ter sido claro. Obrigado desde já.

Carlos, bom dia.

Acho que a maneira mais fácil pra você fazer é através de uma consulta no seu banco de dados utilizando um Inner Join nessas tabelas, e depois você vai preencher a sua JTable com os registros do banco de dados.

Marcio Bom dia,

Já estou realizando grandes seleções no banco de dados, minha intenção é justamente não precisar fazer isso novamente, pois as select’s já estão grandes e eu não queria ter que realizar outra consulta para pegar informações que já possuo dentro do padrão.

Estou preenchendo as tabelas com esses dados. Porém estou usando Modelos que recebem as listas do banco.

Do meu ponto de vista, a forma mais correta é realmente criar um novo TableModel para renderizar objetos de uma nova classe com os atributos comuns à Impressora, Suprimento e Usuario.

3 curtidas

Boa tarde,

Obrigado pelas respostas, acabei criando outro TableModel.

1 curtida