Melhor API para criar algo muito dinâmico  XML
Índice dos Fóruns » Interface Gráfica
Autor Mensagem
Bani
JWizard
[Avatar]

Membro desde: 13/10/2002 23:17:37
Mensagens: 2443
Localização: São Paulo
Offline

Olá pessoal,

Como nunca havia trabalhado com essa parte gráfica do J2SE gostaria de ouvir de quem tem mais experiência qual seria a melhor forma de trabalhar com uma interface gráfica que vai ser absurdamente customizada e dinâmica.

Basicamente, o usuário vai montando na tela um diagrama mais ou menos parecido com um organograma, adicionando as caixinhas e ainda criando umas conexões malucas (com vários símbolos meigos) entre elas. Pode criar uma árvore saindo de uma, fazer algo linear em outra, mudar uma do meio, etc.
Além de criar na hora, eu vou precisar salvar a estrutura em XML e depois regerar o diagrama a partir dele.
E cada pedacinho tem que aceitar duplos cliques, context menus e coisas do tipo para o usuário editar atributos.

Ah, e detalhe que o sistema inteiro tem que estar pronto em 2 semanas.

Pelo que eu vejo por aí as APIs que tem componentes de alto nível são meio chatinhas em relação a posicionamento dos mesmos, então parece não ser flexível o suficiente para fazer isso que eu preciso. Então o que vocês sugerem?

~ Site da Bani ~
escordeiro
Java Ninja
[Avatar]
Membro desde: 20/08/2003 09:31:08
Mensagens: 257
Localização: Belo Horizonte
Offline

Tenta o GEF (Graph Editing Framework, salvo engano)

Alguns editores de UML, como o ArgoUML e o Poseidon, usam esse framework para interação com grafos. Não tenho idéia da utilização dele porque nunca usei

http://gef.tigris.org

Flickr
[Email] [Yahoo!] [MSN] [ICQ]
vamorim
JavaEvangelist
[Avatar]

Membro desde: 21/11/2003 17:08:39
Mensagens: 481
Localização: Rio de Janeiro - RJ
Offline

Estou usando a JGraph. Muito boa.

Vinci Pegoretti Amorim
http://vinci.blog.br
[Email] [WWW] [MSN] [ICQ]
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

escordeiro wrote:Tenta o GEF (Graph Editing Framework, salvo engano)


Nao confundir com o outro GEF, parte do Eclipse
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
Bani
JWizard
[Avatar]

Membro desde: 13/10/2002 23:17:37
Mensagens: 2443
Localização: São Paulo
Offline

Realmente parece que tanto o GEF quando o JGraph seriam capazes de construir os diagramas que preciso, e como o JGraph parece ser mais completo e estar mais documentado prefiro usar ele.
Porém baixei um dos programas exemplo do site do JGraph e achei ele meio lento. Já no Argos, que usa GEF, após carregar fica bem responsivo.

Então gostaria de saber de quem já está usando JGraph: ele é pesado mesmo? Minha aplicação vai rodar em computadores com 64Mb de RAM, então se for ficar inviável de usar é melhor eu já saber agora!

~ Site da Bani ~
brlima
Moderador
[Avatar]

Membro desde: 12/05/2003 14:03:38
Mensagens: 1537
Localização: São Paulo - SP
Offline

Curiosidade: Esses caras ai sao mais pra criar interfaces do tipo Diagramas??? E só pra isso?

Pergunto isso pq, ha um tempo atras eu tava querendo montar uma aplicação pra que o usuario montasse uma tela swing. Mas montar telas simples, nada mto complicado. E nao achei nada.

Bruno R. Lima
-------------------------------------------
flickr :: twitter
[MSN]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline

brlima wrote:Curiosidade: Esses caras ai sao mais pra criar interfaces do tipo Diagramas??? E só pra isso?

Pergunto isso pq, ha um tempo atras eu tava querendo montar uma aplicação pra que o usuario montasse uma tela swing. Mas montar telas simples, nada mto complicado. E nao achei nada.


Que tal algo tipo o cafeteira?

[]s

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
brlima
Moderador
[Avatar]

Membro desde: 12/05/2003 14:03:38
Mensagens: 1537
Localização: São Paulo - SP
Offline

pcalcado wrote:
brlima wrote:Curiosidade: Esses caras ai sao mais pra criar interfaces do tipo Diagramas??? E só pra isso?

Pergunto isso pq, ha um tempo atras eu tava querendo montar uma aplicação pra que o usuario montasse uma tela swing. Mas montar telas simples, nada mto complicado. E nao achei nada.


Que tal algo tipo o cafeteira?

[]s


Nao é bem assim. eu queria montar uma aplicação desse tipo. Pois queria acrescentar algumas propriedades que afetam o meu codigo e o desenho da tela tb.

Bruno R. Lima
-------------------------------------------
flickr :: twitter
[MSN]
vamorim
JavaEvangelist
[Avatar]

Membro desde: 21/11/2003 17:08:39
Mensagens: 481
Localização: Rio de Janeiro - RJ
Offline

Bani wrote: Então gostaria de saber de quem já está usando JGraph: ele é pesado mesmo? Minha aplicação vai rodar em computadores com 64Mb de RAM, então se for ficar inviável de usar é melhor eu já saber agora!


Infelismente estou usando o JGraph para diagramas pequenos e com uma máquina relativamente boa (que meu chefe não leia isso!).

De todo jeito, depende. Você quer eficiência em quê? Alocação de memória? Algoritmos embutidos?

Sugestão 1: Testar algumas das ferramentas desenvolvidas com o JGraph numa carroça dessas.

Sugestão 2: pegar um dos demos, entupir com o que mais vai ser feito (número de nós, ou número de arestas, ou deslocamentos, etc.) e realizar um teste de performace.

Vinci Pegoretti Amorim
http://vinci.blog.br
[Email] [WWW] [MSN] [ICQ]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline

brlima wrote:
Nao é bem assim. eu queria montar uma aplicação desse tipo. Pois queria acrescentar algumas propriedades que afetam o meu codigo e o desenho da tela tb.


Pois é, o cafeteira é livre. Que tal umas alterações?

[]s

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
vamorim
JavaEvangelist
[Avatar]

Membro desde: 21/11/2003 17:08:39
Mensagens: 481
Localização: Rio de Janeiro - RJ
Offline

brlima wrote:Curiosidade: Esses caras ai sao mais pra criar interfaces do tipo Diagramas??? E só pra isso?




JGraph is the most powerful, lightweight, feature-rich, and thoroughly documented open-source graph component available for Java.


Ou seja, JGraph é uma API para Java (J) que serve para trabalhar com Grafos (Graph). Ou seja J + Graph = JGraph

Falando sério. JGraph possui um conjunto de algoritmos que podem ser usados na resolução de muitos problemas relacionados com grafos. Não é simplesmente para desenho de diagrams. Serve para muitas coisas como isso:



Vinci Pegoretti Amorim
http://vinci.blog.br
[Email] [WWW] [MSN] [ICQ]
Bani
JWizard
[Avatar]

Membro desde: 13/10/2002 23:17:37
Mensagens: 2443
Localização: São Paulo
Offline

vamorim wrote:
Sugestão 1: Testar algumas das ferramentas desenvolvidas com o JGraph numa carroça dessas.


Eu testei em um computador com 4x mais memoria e achei lento!

Não quero mais trabalhar :puppydogeyes:

~ Site da Bani ~
vamorim
JavaEvangelist
[Avatar]

Membro desde: 21/11/2003 17:08:39
Mensagens: 481
Localização: Rio de Janeiro - RJ
Offline

Já que a eficiência tá doendo tanto, talvez seja o caso de usar a Grappa ou alguma coisa com GraphViz como isso. Ou quem sabe alguma coisa comercial.

Sinto muito mas meu instinto humorístico não me permite terminar esse post sem a seguinte mensagem: Vai trabaiá, muié!

Vinci Pegoretti Amorim
http://vinci.blog.br
[Email] [WWW] [MSN] [ICQ]
dukejeffrie
Virtual Machine Man
[Avatar]

Membro desde: 21/08/2002 03:53:28
Mensagens: 661
Offline

Aí é que tá. Bani, c não acha que se fosse fácil, já ia ter um monte de aplicação parecida??

Te prometo que em duas semans (quantas pessoas? 6, no melhor caso?) não sai nada assim. Fazer GUI demora. Ainda mais se o seu time não tem muita experiência.

Masssss... se vc conseguir reduzir a especificação pra caber em duas semanas, vc pode implementar algo na linha da GML, e usar aquele grafo básico da faculdade (i.e.) sem atributos, sem algoritmos.

Daí vc serializa com XStream ou Castor ou etc. Essa parte é baba.

Daí vc pega metade do seu time pra trabalhar na GUI. Eles vão ter que implementar MVC, é bom que seja gente com experiência nisso. Nem olha a API de DragNDrop, c só vai perder tempo. C vai ter que implementar também um modelo específico pra sua área de trabalho "infinita".

Acho que vale a pena olhar o SwingBuilder do Groovy. Na beta-4 tá funcionando bunitinho!

Prepare-se para uma semana de 50 horas. E siga os princípios do cronograma encaixotado (com data pra começar e pra terminar):

Se tiver feio, deixa feio
Se quebrar, cola, não conserta
Todo mundo tem culpa se estiver ruim
Todo mundo ganha breja se entregar no prazo
A empresa paga a pizza

Boa sorte, do fundo do coração.

Brevity is the soul of wit
[Email] [WWW] [MSN] [ICQ]
Bani
JWizard
[Avatar]

Membro desde: 13/10/2002 23:17:37
Mensagens: 2443
Localização: São Paulo
Offline

dukejeffrie wrote:
Te prometo que em duas semanas (quantas pessoas? 6, no melhor caso?) não sai nada assim. Fazer GUI demora. Ainda mais se o seu time não tem muita experiência.


2 pessoas, sendo que a outra nunca programou Java na vida! hehehe

dukejeffrie wrote:
Masssss... se vc conseguir reduzir a especificação pra caber em duas semanas, vc pode implementar algo na linha da GML, e usar aquele grafo básico da faculdade (i.e.) sem atributos, sem algoritmos.

Tipo, não é grafo que eu preciso fazer... é um diagraminha maluco mais ou menos parecido com um fluxograma que o cara que inventou está longe demais para eu poder bater nele.
Mas aparentemente as ferramentas utilizadas para desenhar grafos servem bem para fazer ele.

dukejeffrie wrote:
Boa sorte, do fundo do coração.


É o que eu mais vou precisar
E lembrarei das dicas!

~ Site da Bani ~
 
Índice dos Fóruns » Interface Gráfica
Ir para:   
Powered by JForum 2.1.8 © JForum Team