Dúvida TableModel[Resolvido]  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
vmsb11
Java Ninja

Membro desde: 25/08/2008 12:35:00
Mensagens: 251
Offline

Olá pessoal estou desenvolvendo uma aplicação e nela eu terei que desenhar figuras como linhas, círculos, retangulos e polígonos, com isso eu decidi criar um JTable no qual irá aparecer as propriedades de um determinado objeto como cor, altura, largura, posição x,y, etc...
Porém algums figuras tem propriedades diferentes umas das outras por ex: linha tem x,y inicial e final e um polígono tem por exemplo o número de vértices e área.
A minha dúvida é se eu devo criar um TableModel para cada um por ex: TableModelLine, TableModelPolygon, etc... ou se eu devo criar um único table model e filtrar as propriedades de acordo com o tipo do objeto?

This message was edited 3 times. Last update was at 08/07/2010 20:25:40

fabiocsilva
JavaEvangelist
[Avatar]

Membro desde: 19/07/2006 18:53:36
Mensagens: 319
Offline

Eu criaria uma tabela com duas colunas: propriedade e valor.

"The only place where success comes before work is in the dictionary."
_____________________
Sun Certified Java Programmer
Sun Certified Business Component Developer
vmsb11
Java Ninja

Membro desde: 25/08/2008 12:35:00
Mensagens: 251
Offline

fabiocsilva wrote:Eu criaria uma tabela com duas colunas: propriedade e valor.

sim, isso eu já criei, a minha dúvida é se eu devo criar um TableModel para cada tipo de objeto....
fabiocsilva
JavaEvangelist
[Avatar]

Membro desde: 19/07/2006 18:53:36
Mensagens: 319
Offline

Não precisa criar um TableModel pra cada figura, porque as duas colunas servem para qualquer situação.
Por exemplo

Reta
propriedade valor
X0 0
Y0 0
largura 50


Hexágono
propriedade valor
X0 0
Y0 0
X1 30
Y1 30
...

Não percebi a necessidade de criar uma tabela para cada figura, talvez não tenha entendido o que você quiz dizer. Quando surgir outra figura você vai criar outra classe? E lembrando que esse problema é relacionado apenas com exibição, não com seu modelo de domínio

This message was edited 1 time. Last update was at 08/07/2010 11:59:52


"The only place where success comes before work is in the dictionary."
_____________________
Sun Certified Java Programmer
Sun Certified Business Component Developer
vmsb11
Java Ninja

Membro desde: 25/08/2008 12:35:00
Mensagens: 251
Offline

Basicamente terei uma classe figura e nela eu armazenarei os dados como tipo do objeto, x,y, altura, largura, cor, etc...

Minha dúvida é na hora de criar o tablemodel, porquê por exemplo um retangulo tem propriedades como x, y, altura, largura, cor....
um polígono tb tem as msm propriedades e algumas a mais como número de vértices, área, porém estas 2 dá para calcular em tempo de execução e não necessito armazena-las pois não vou utilizar, somente tenho o objetivo de informar ao usuário....

De inicio pensei em criar um tablemodel para cada tipo de figura pois acho mais apropriado, porém não sei se é uma boa prática de programação....

ViniGodoy
Moderador
[Avatar]

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

Eu criaria um TableModel para cada também.

Outra possibilidade seria trabalhar com Reflection. Nesse caso, dê uma olhada no ObjectTableModel, do Mark (link para ele na minha assinatura).

@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]
vmsb11
Java Ninja

Membro desde: 25/08/2008 12:35:00
Mensagens: 251
Offline

ViniGodoy wrote:Eu criaria um TableModel para cada também.

Outra possibilidade seria trabalhar com Reflection. Nesse caso, dê uma olhada no ObjectTableModel, do Mark (link para ele na minha assinatura).


achei muito interessante o objecttablemodel

de inicio vou utilizar criar msm um tablemodel para cada tipo de objeto....

tb li este artigo http://www.javaworld.com/javaworld/javatips/jw-javatip102.html

que em parte já solucionou a minha outra dúvida que era como adicionar diferentes componentes em uma determinada coluna do jtable....

This message was edited 1 time. Last update was at 08/07/2010 15:17:31

fabiocsilva
JavaEvangelist
[Avatar]

Membro desde: 19/07/2006 18:53:36
Mensagens: 319
Offline

Esse ObjectTableModel é interessante, não conhecia. Entendi o que você quer fazer, colocar o comportamento que "calcula os dados" em cada TableModel. É uma abordagem válida, de fato. Uma outra abordagem seria o pŕoprio objeto de domínio controlar o que ele quer exibir, e o TableModel apenas exibir. É uma abordagem menos anêmica (vide http://martinfowler.com/bliki/AnemicDomainModel.html). Não digo que é melhor ou pior. É apenas outra idéia.

"The only place where success comes before work is in the dictionary."
_____________________
Sun Certified Java Programmer
Sun Certified Business Component Developer
vmsb11
Java Ninja

Membro desde: 25/08/2008 12:35:00
Mensagens: 251
Offline

fabiocsilva wrote:Esse ObjectTableModel é interessante, não conhecia. Entendi o que você quer fazer, colocar o comportamento que "calcula os dados" em cada TableModel. É uma abordagem válida, de fato. Uma outra abordagem seria o pŕoprio objeto de domínio controlar o que ele quer exibir, e o TableModel apenas exibir. É uma abordagem menos anêmica (vide http://martinfowler.com/bliki/AnemicDomainModel.html). Não digo que é melhor ou pior. É apenas outra idéia.


obrigado fabiocsilva, tb vou dar uma lida nesse tutorial....
muito obrigado!
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team