Olá Lista,
estou iniciando meus estudos para a adoção de java como nova plataforma de desenvolvimento em minha empresa.
Minha dúvida: quando criamos uma GUI utilizando Swing ou AWT há a necessidade de escrevermos muito código para tratar os objetos gráficos. Isto não polui demasiadamente o código ? Qual a maneira ideal para separarmos as regras de negócio da camada de apresentação ?
Desde já agradeço a colaboração !
Leonardo
caro leonardo,
Eu tb sou novo em Java e no começo fiquei um pouco surpreso com a pouca praticidade dos componentes GUI. Mas logo vi q na verdade tanto o pacote AWT e o Swing não são tão complicados. Eles são muito flexiveis… ou seja… vc pode fazer o q quiser com eles!!! esta eh a grande vantagem na minha opinião. E por causa desta flexibilidade eles parecem complicados. Porém a documentação do Java eh excelente e explica detalhadamente como tratar cada componente. Creio q vc não terá grandes problemas com isso… de qquer modo indico o livro “Java como programar - deitel & deitel” , q traz ótimas explicações sobre os pacotes GUI… quanto a separação da camada de apresentação e talz deixo em aberto para os mais experientes responderem…
um abraço e boa sorte!!!
João Bosco
João Bosco, obrigado pela força ! Minha preocupação talvez seja por que ainda não tenho tanta familiaridade com o Java como tenho com outras linguagens.
Estou empolgado e tenho certeza que o java é uma ótima opção ! 
Diria que os Swing é mais fácil de trabalhar do que os componentes GUI do Windows. O problema no Java é a falta de ferramentas visuais para montar os elementos da sua interface 
Eu recomendaria a leitura do livro Professional Java Programming, escrito pro Brett Spell e publicado pela Wrox. Ele mostra vários exemplos do dia dia da programação comercial, inclusive sobre Swing.
Os iniciantes costumam ter problemas em compreender as APIS AWT e Swing do Java por utilizarem padrões pouco conhecidos e utilizados em outras ferramentas, no entanto, uma vez que se domine estas APIs, a produtividade vai longe, e não acho que o código fique muito poluído, isto depende muito mais do desenvolvedor do que da API!
Quando às ferramentas utilizadas, pode ser verdade que alguns anos atrás haviam poucas opções, mas hoje existem inúmeras, só para destacar algumas:
NetBeans (free)
Forte for java (baseada no NetBeans)
Oracle JDeveloper
Borland JBuilder
etc. etc.!!