Tutorial Bom pra aprender bem Swing (GUI)

alguém conhece?

usa netbeans que 80% dos seus problemas já estão resolvidos :wink:

baixa o
Visual Editor do Eclipse… se quiser aprender baixa o cafeteira… :smiley:

Não recomendo a sugestão de ambos.

Aprenda antes a fazer na mão para então conseguir ver a porcaria de código que um editor visual escreve para você.

Se seu objetivo é aprendizado, arranje Swing: Second Edition. Mesmo com um livro ou tutorial não é tarefa simples, Swing é uma API extremamente complexa de ser bem usada.
Após se habituar e entender o quão horríveis os gerenciadores de layout built-in do Swing são, gaste 1 dia e aprenda JGoodies Forms. Torna criar layouts bons em swing uma tarefa realmente simples.

Mas se você precisa fazer uma interface gráfica decente rapidamente, use Thinlet.

LIPE, assino embaixo!

Editores visuais não transformam ninguem em expert em Swing. Se as circunstâncias mudarem no futuro e você tiver que modificar o código na mão, você terá problemas sérios.

Minha dica é: use o JGoodies Forms para criar as telas e use o JGoodies Bindings para desenvolver a lógica de negócio longe dos componentes visuais. Para saber mais, veja meus artigos na Java Magazine edições 38 e 39.

Grande abraço,
Hugo.

[quote=LIPE]
Mas se você precisa fazer uma interface gráfica decente rapidamente, use Thinlet.[/quote]

Uma vez tive de fazer uma demonstração para funcionar igualzinho em Windows e Solaris 10 (Intel). Eu tinha uma versão anterior que estava em SWT, mas quando fui tentar rodar a tal versão, não tinha conseguido achar uma versão do SWT que funcionasse direito em Solaris 10 (Intel). Como estava com pressa e naquele tempo o NetBeans ainda estava naquela versão 4, eu fiz tudo em Thinlet e funcionou beleza.

Eu aprendi a usar o Swing na unha, mas não acho nenhum pouco interessante perder tempo codificando telas… não lembro onde eu li este esquema mas o que eu faço é o seguinte:

  • Uso o VE e crio uma tela com o layout null. Após ela ter ficado do jeito que eu quero, mudo o layout para GridBagLayout. O VE monta todos meus constraints e minhas grids direitinho, bastando apenas alguns ajustes manuais como os GridBagConstraints.FILL, esse tipo de coisa.

Claro, sempre usando panels e já imaginando que minha tela vai se transformar em GridBagLayout, assim posso facilmente maximizar, aumentar, diminuir e tudo vai ficar do jeito que eu quero dentro dos seus respectivos panels.

Funciona, eu garanto, e pra quem trampa muito com swing (como no meu caso), curte o eclipse e não tá afim de migrar pro NB só pelo Matisse é muito legal.

Mas acho que é questão de tempo (JSE 6.0) pro Swing na unha ir pro espaço de vez, quem é que vai codificar na mão com aquele layout novo (que o matisse usa e está sendo integrado ao JDK)…

Já arranjei varios ebooks com o titulo “Swing: Second Edition”. Qual dos livros devo usar?

[quote]Para saber mais, veja meus artigos na Java Magazine edições 38 e 39.

Grande abraço,
Hugo.[/quote]

Paga-se o “JAva MAgazine”?

Olá

Esta talvez seja uma das perguntas mais incríveis que li aqui no GUJ desde 2002.

A se confirmar o que estou pensando, você precisa entrar para a política urgentemente porque lá tem lugar garantido.

[]s
Luca

Paulo,

Tudo depende do que voce quer fazer. Se seu intuito eh saber como desenvolver aplicacoes desktop corporativas com Swing, a melhor abordagem eh aprender top-down, ou seja, aprender a usar de forma produtiva, como voce faria no mercado de trabalho na maior parte do tempo. Nesse caso, voce deveria aprender a usar uma ferramenta de design visual e um framework Swing. Algumas opcoes para o primeiro sao o Matisse do NetBeans e o Visual Editor Project do Eclipse e, para o segundo, o genesis - que possui documentacao em portugues - ou a suite JGoodies, por exemplo.

Como segundo passo dessa estrategia ou se voce apenas quer conhecer Swing a fundo, o ideal seria aprender sobre AWT, Swing baixo nivel, layout managers e afins. Para isso recomendo o tutorial da Sun mesmo e muita experimentacao. Para este caso, eh muito bom como experimento tentar reproduzir em Swing interfaces de softwares parecidos com os que voce quer desenvolver ou que voce acha interessante.

Caro Luca, peço desculpa por não saber tudo, mesmo quando o óbvio seja para vc!