Projeto de interface gráfica

Pessoal,

Estou desenvolvendo um software (Java SE) e a parte não-gráfica já está concluída. Para essa parte, eu fiz todo o projeto do software antes de iniciar a programação. Ou seja, eu pensei na modelagem do problema antes de iniciar o Java em si. Qual seria a melhor metologia de fazer um projeto da interface gráfica/Swing?

Obrigado!

Se vc está se referindo a frameworks, IDEs etc… tem o Matisse que é free no NetBeans, tem para Eclipse mas é pago no entanto tem um tal de VE (nunca usei e quando vi achei muito ruim mas parece que tem muita gente que está utilizando), para binding use o Genesis, brasileirissimo e muito bom para pooling de instancias e IoC use o Spring.

flws

[quote=phph]Pessoal,

Estou desenvolvendo um software (Java SE) e a parte não-gráfica já está concluída. Para essa parte, eu fiz todo o projeto do software antes de iniciar a programação. Ou seja, eu pensei na modelagem do problema antes de iniciar o Java em si. Qual seria a melhor metologia de fazer um projeto da interface gráfica/Swing?

Obrigado![/quote]

em termos de metodologia… é papel e lápis… hehehe

Seria mais em relação à metologia mesmo. Sobre o modelo de “relacionamento” entre a interface gráfica e a parte não-gráfica…

obrigado!

Se vc está se referindo a frameworks, IDEs etc… tem o Matisse que é free no NetBeans, tem para Eclipse mas é pago no entanto tem um tal de VE (nunca usei e quando vi achei muito ruim mas parece que tem muita gente que está utilizando), para binding use o Genesis, brasileirissimo e muito bom para pooling de instancias e IoC use o Spring.

flws
[/quote]

Quais seriam “as frameworks” a que você se refere? Até então, eu sentia o Matisse como um editor de GUIs. Ela seria uma framework para Swing em si?

obrigado!

[quote=phph] Quais seriam “as frameworks” a que você se refere? Até então, eu sentia o Matisse como um editor de GUIs. Ela seria uma framework para Swing em si?
[/quote]

O Matisse não é um framework, é um plugin para editração de interfaces gráficas swing.

Os frameworks que citei são: O Spring e o Genesis.

O ponto que chama a atenção no que vc disse ao falar de interface gráfica é a palavra “metodologia”, se vc estiver se referindo a estratégia, busca do entendimento dos requisitos do projeto etc… eu indico a XP (Extreme Programing).

flws

Eu estaria buscando algo para JAVA SE e as duas frameworks que você citou são para EE.

A minha grande dúvida agora é qual seria a vantagem prática de se utilizar o Swing Application Framework invés do Swing diretamente. O Matisse está diretamente relacionada à ela, não?

E sobre o SwingX? Seria interessante utilizá-lo em conjunto com o Swing também? Vocês a utilizam?

Eu quis me referir mais ao projeto em si e não à estratégia de desenvolvimento do projeto. Como definir o melhor layout para o usuário? Qual é a melhor maneira de se associar o código não-gráfico à framework gráfica?

Eu faço engenharia elétrica e não CC, mas considero essa questão gráfica, a mais importante dado que os aplicativos da minha área abordam temas que em si já são complexos. Gostaria que a interface gráfica não se torna complexa, desorganizada ou não-intuitiva.

PS. Eu já sei OO, concorrência e as partes mais importantes de Java SE, mas ainda estou engatinhando na programação gráfica(Swing). Na minha concepção, todo desenvolvimento de algo complexo como um software deve partir de um projeto/esboço de idéias e a parte relacionada à programação gráfica não deve ser diferente.
Estou na busca de fazê-lo corretamente.

Meus sinceros agradecimentos!!!

Podem ser utilizadas com Java SE também, principalmente o Spring, eu já utilizei os 2 em projeto J2SE. É claro que tudo depende dos requisitos do projeto, se o projeto for muito simples talvez este tipo de coisa mais atrapalhe do que ajude, muito embora eu ache muito difícil o Genesis não ajudar no swing por mais simples que o projeto seja.

Então…Vc pode encarar eles com COMPLEMENTO um do outro.

O Swing Application Framework é uma idéia bacana que está ligada ao ciclo de vida e suporte a recusos da aplicação, o Matisse a editoração dos formulários o Swing é a base dos dois.

Já participei de um projeto onde foi utilizado os 2 juntos, um dos componentes utilizados foi o ComboBox do SwingX, quando o usuário digita a lista vai se posicionando de acordo com os caracteres digitados (acho que era esse o recurso). Isso dá pra fazer no swing mas no swingx já tem pronto, prá quê sofrer…

Hummm…agora acho que entendi. Quanto eu me envolvi em um projeto que utilizava swing uma das coisas que descobri é que tem poucas idéias de como montar o projeto das interfaces, organização de código etc…para swing; isso comparando com a parte web. Se você pegar o Struts por exemplo, o pŕoprio projeto já lhe diz onde as “as coisas” devem ficar e muitas vezes até o como elas devem ser.
Foi feito o seguinte: Escolhemos alguns frameworks (Spring e Genesis…existem outros, questão de escolha), editor grafico (Matisse…existem outros, questão de escolha). Estes frameworks tinha objetos bem claros, o Spring para IoC, e acessos a serviços remotos e o Genesis para binding dos objetos de edição.
Fora isso foram adotados padrões, talvez no seu caso a parte mais interessante, os padrões MVC, Command, Factory, Singleton foram baste utilizados dê especial atenção ao MVC, o próprio swing é fortemente baseado neste padrão. Pelo que vc disse, uma boa parte que envolve o (M)odel e o ©ontroler vc já fêz, faltando acoplar a parte V(iew).

Realmente, para quem não tem a direção dos estudos em cima da construção de software tende a sofrer mais mesmo. Mas para quem tem boas intenções (fazer melhor) com vc, certamente as dificuldades tenderão a serem mais amenas.

P.S Como disse antes não há (pelo menos ainda não encontrei) uma formula para projetos feitos em swing como tem na parte web (onde vc encontra várias), o Swing Application Framework foi feito para tentar melhorar esse lado mas ainda falta muito pra ficar bom. A idéia geral (na minha opinião) é utilizar alguns design patterns, recursos e frameworks para melhorar pontos de deficiencia como por exemplo no caso do swing: bindings e editoração de formulários, porque montar telas em swing na mão é um puta pé no saco, muito embora tem gente que gosta muito e as vezes não tem muita saida tem que ser na unha mesmo.

Espero ter clareado mais um pouco rsrsrs.

flws

Obrigado pelas explanações! Irei buscar algo sobre Swing Application Framework.