Opinião da comunidade GUJ para criar Interface usando Swing

15 respostas
cgomesnet

Olá a todos.

Resolvi criar esse tópico para tomar uma decisão a respeito do rumo que devo tomar nos meus estudos.

Conclui a pouco uma etapa de um projeto que estou desenvolvendo em uma aplicação desktop, tudo isso a nivel de estudo, não é nada comercial pois estou aprendendo.

O que pude constatar é que a ferramenta Netbeans pode auxiliar e muiton a utilização do swing no java, todavia isso tem um preço a pagar que é a geração de códigos automáticos (muitos códigos) e isso creio eu está me prejudicando.

Estou pensando em refazer o módulo que iniciei no texto mesmo e na unha tentar fazer as cordenadas, porém não quero perder tempo com algo que talvez não seja usual.

Minha pergunta é:

Desenvolvimento usando swing, tentando desenvolver telas complexas usando dos recursos MDI e várias outras funcionalidades deve ser feito usando os recursos de arrastar e colar do netbeans? Isse recurso é o mais utilizado por profissionais da área ou é feito tudo na unha?

Lendo o livro Use a Cabeça, ficou bem claro que o border layout é um desafio enorme no modo visual de desenvolvimento da sua GUI, fico pensando se não é exaustivo e inutil tentar fazer a GUI por linhas de código mesmo que isso deixe o código enxuto.

Por favor, preciso da opinião de vocês e se possivel um tutorial simples de desenvolvimento de algum pequeno projeto, pode ate ser aqueles basicos de sistema de locadora, ou algo do tipo como encontramos para delphi e VB.

Desde já agradeço aos colegas que sempre estão dispostos a ajudar.

T+

15 Respostas

TiagoFoil

Bom, aqui vai algumas páginas q visitei durante meu aprendizado Swing. Ah, Swing na mão é muito, MUITO exaustivo. Mas pra saber o q o NetBeans ou algum Plugin Visual do Eclipse está gerando é bom fazer alguns programinhas Swing na mão.

Pequeno tutorial
http://java.sun.com/docs/books/tutorial/uiswing/learn/example1.html

Exemplos pra assossiar os nomes aos bois
http://java.sun.com/docs/books/tutorial/uiswing/components/components.html

Indices de como usar os componentes Swing
http://java.sun.com/docs/books/tutorial/uiswing/components/componentlist.html

Site de Exemplo de Código
http://www.java2s.com/Code/Java/Swing-Components/CatalogSwing-Components.htm

Enjoy!

silva.fernandes

Tambem tive esta dúvida, então começei a pesquisar sobre o assunto.

Ai chegue a seguinte conclusão. Swing não mão é muito trabalhoso, e requer mais tempo para o desenvolvimento, então porque não tirar o proveito das IDEs para isso.

Então no meu projeto que estou desenvolvendo eu estou usando o NetBeans para criar as interface gráfica (somente isso!!!) … ai o restante eu faça na unha.

Assim isso contribui para o meu aprendizado, ou seja, só uso para agilizar o processo.

Então como eu estou utilizando a arquitetura MVC (Model, View, Control), a parte View (Visão) eu agilizo com o uso da IDE, depois as outras partes fica por minha conta.

Acho dificil hoje quem não use os benefícios de uma IDE para agilizar o processo de desenvolvimento de uma aplicação, ou seja, fazer TUDO na mão

Falowww

mister_m

Desenvolver uma interface Swing na mao geralmente eh uma pessima ideia, a menos que a ferramenta que voce esteja usando para cria-la nao consiga fazer o que voce quer ou gere codigo nao-performatico. Em resumo, codifique a criacao da GUI na mao apenas quando necessario.

Alem disso, lidar com os listeners e models da vida ainda eh muito trabalhoso, mesmo com a GUI criada por uma ferramenta. Para trabalhar num nivel de abstracao maior e focar no problema do negocio e das regras de UI, use um framework de binding. Um exemplo disso eh o genesis, que possui documentacao completa em portugues.

Pedrosa

Muito interessante esse genesis!

cgomesnet

Mas e quanto a geração de um monte de código que não existiria se fosse feito a unha, até que ponto isso prejudica a aplicação? É algo que da pra conviver (e de certa forma normal usar dessa forma ) sem que afete a performance do aplicativo?

Pedrosa

Fazer esses códigos na mão vai interferir muito na produtividade, eu uso o NetBeans para construção das interfaces gráficas e o Eclipse para o restante do projeto.

D

cgomesnet

só pra resaltar , os códigos que o netBeans gera não são “inúteis” , c vc fosse fazer na mão , vc teria que fazer do mesmo jeito aquele monte de código , claro que agumas propriedades da algumas ferramentas não seriam necessário , mais isso não te da a vantagem de fazer na mão entende, o único conselho que eu te dou é que , c vc está começando agora , então seria muito bom vc praticar na mão , pra saber como funciona , pq é muita perda de tempo programar um aplicativo que seje pra desktop sem usar uma IDE , no caso o NetBeans…

patrick_faria

Amigos, tenho analisado opções sobre a criação de GUIs baseados em SWING, entre elas Genesis, JDesktop, JGoodies, JFace e o próprio Netbeans. O resultado do trabalho será um relatório analítico ponderado que poderá ajudar qual opção usar em função de vários critórios como Acomplamneto ao IDE, Produtividade, OpenSource, Suporte, Geração de código entre outros, inclusive disponibilizarei tal relatório tal logo conclua.

Gostaria de ouvir opiniões sobre qual melhor framework usar e se possível dicas de produtos não listados aqui.

Obrigado

I

Estou em uma situação parecida: Programo em Delphi faz muitos anos, e agora estou aprendendo Java, mas a programação na unha do Swing, achei trabalhosa. Sobre as IDE, até o momento estou me adaptando melhor ao NetBeans, pois achei o Eclipse estranho, principalmente na parte de plugins. Consegui fazer todos os tutoriais do NetBeans sobre interface gráfica e através deles criei alguns JFrames por conta própria e acrescentando partes de código que eu criei, funcionaram. Mas mesmo assim ainda uso o bloco de notas para aprender a parte de lógica e sintaxe e consulto constantemente as API do Java.

Guerr

Sugiro dar uma olhada no framework SwingBean para a construção de interfaces ricas em Swing sem recorrer a uma geração de código automática. Facilita bastante a vida!!!

http://swingbean.sourceforge.net

S

Eu to com esse mesmo problema, quando estava aprendendo a programar GUIs em java, eu usava o JCreator que não tinha nenhum recurso grafico, foi bom para aprender os códigos, pq se eu fizesse numa IDE e precisasse debugar alguma coisa eu não saberia.

Mas agora estou fazendo aplicações desktop, programar na mão fica inviável. Tentei usar o NetBeans para fazer interfaces swing, achei muito bom, porém os códigos gerados por ele não são editáveis (ou não eram na época que usei) e por isso não gostei. Agora estou tentanto usar o Eclipse com o plugin VEP, estou achando um pouco difícil de usá-lo, alguem me recomendaria algum outro framework ou alguem teria algum tutorial ensinando a usar esse plugin no eclipse?

abraços!

F

Eu uso o JFormDesigner pra fazer telas simples…
qualquer coisa mais avançada é na mão mesmo… Swing ainda é bem dificil de aprender… e a maioria das interfaces que desenvolvo não são triviais…

na maioria dos casos, as telas sao para cruds, então de uma olhada no Merlin
https://merlin.dev.java.net/merlinMinimumTest.html

É bem interessante!

S

achei o merlin bem interessante, não vi direito, mas acho que ele ainda não está disponível pra download:

"At this moment, no binaries are available, but functional sources and documentation can be downloaded from CVS, wich is managed by 3Layer Foundation.

First release will be available in 2007."

a não ser q eu tenha que baixar o fonte dele para usá-lo, se for isso q entendi.

S

JFormDesigner tem um grave defeito: custar U$159,00! lol
mas obrigado pelas dicas :slight_smile:

Guerr

Guerr@:
Sugiro dar uma olhada no framework SwingBean para a construção de interfaces ricas em Swing sem recorrer a uma geração de código automática. Facilita bastante a vida!!!

http://swingbean.sourceforge.net

A MundoJava que está nas bancas está com um artigo sobre o SwingBean. Vale a pena dar uma olhada!!!

Criado 20 de outubro de 2006
Ultima resposta 19 de jan. de 2007
Respostas 15
Participantes 11