Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

magician

Java e swing

Mensagens Recomendadas

magician    2
magician

Boas pessoal á algum tempo que ando de volta do swing do java, quero fazer interfaces graficos para as minhas aplicações e swing parece-me o vais viavel e simples.

Mas o prob é que nao consigo encontrar material sobre o assunto tenho muitos books mas em ing :( e ta complicado aprender aquilo e ainda ententer o ing lol :)

E o material que encontrei é muito superficial, alguem me pode ajudar ?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Hipnoted    6
Hipnoted

Antes de + nada precisas do jdk, vais ao site da SUN e instala-lo no teu PC.

Depois instalas um ambiante de desenvolvimento, aconselho-te o Netbeans. Podes descarregá-lo do site do netbeans.

E depois é só ganhares prática, mas nada cai do céu tens de +perder algum tempo.

Boa sorte...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
magician    2
magician

hummm eu ja programa em java a 1 ano a nivel academico por isso essas coisa eu sei LOL :(

Só queria mesmo para swing e awt.event que isso é que  nao tou a apanhar muito bem :S

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Knitter    101
Knitter
swing parece-me o vais viavel e simples

Espero que entendas que swing tem muito de herança/polimorfismo e um padrão aplicacional subjacente chamado Model-View-Controller. Seja como for se não percebes muito de inglês vais ter alguns problemas, tenho alguns pdfs muito bons sobre isso mas só em inglês :(

Se tiveres dúvidas não hesites, coloca aqui quem o ppl ajuda.

Peace.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Anjo    0
Anjo

Se o inglês é 1 problema para vçs... sugiro VIVAMENTE a corrigir isso... pk se vçs começam a trabalhar, e não me sabem ler as coisas técnicas em inglês... bem... boa sorte.. :P

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
M6    75
M6

Se queres fazer interfaces em Java aconselho-te a usares o SWT, o Swing é muito pesado e, pessoalmente, acho que não acrestenta nenhuma real mais valia para quem o usa.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Knitter    101
Knitter

Cá venho eu defender o swing mais uma vez :P

Swing é pesado é verdade mas tem razões para ser pesado, obriga a boas práticas de programação, traz facilidade de personalização, e o modelo MVC é a melhor invenção depois da roda para aplicações :).

SWT e Swing possuem duas filosofias diferentes, o Swing é independente da plataforma, possibilita o uso de look-and-feels que podem ser instalados por acção do utilizador, tira toda a complexidade de desenvolver interfaces das mãos do programador, sim o Swing é mais complexo mas essa complexidade fica com o sistema, o programador não tem que se preocupar com isso, tem apenas de seguir as apis e as regras do Swing, além de possuir um conjunto de componentes superior ao do SWT e de permitir o uso de Jbeans mutio facilmente. O SWT é agarrado à plataforma, precisa dela para ser rápido, muito mais rápido que o Swing, e para tornar as aplicações mais parecidas com o sistema operativo onde correm, tem alguns pormenores, como os destrutores, que promovem o aparecimento de erros muitas vezes dificeis de detectar.

Enfim são dois sistemas diferentes, pessoalmente, sempre que tento agarrar no SWT sinto-me preso, o Swing traz um hierarquia de classes que me facilita muito. Para programadores com pouca experiência, não digo apenas em Java/Swing/SWT, digo em programação com threads, problemas de concorrência, problemas de gestão de memória então penso que o Swing ajuda mais. Para usar SWT é necessário conhecer bem esses problemas pois são problemas que o próprio sistema SWT provoca.

Mas isto é mais uma luta em torno do SWT/Swing, haverá sempre quem defenda os dois sistemas. Um concelho, tenta os dois, quando te sentires mais confortável com os dois sistemas escolhe um, acho que é o melhor, podes gostar mais da liberdade que o SWT te dá a nível de controlo do sistema ou do grande poder que o Swing te oferece, e se conhecers os dois sistemas melhor podes sempre comparar as vantages/desvantagens que te dão e depois escolher.

Peace.

Nota: Agora que releio o post, no fim de o submeter :), reparo que talvez tenha sido parcial e tenha apontado mais algumas falhas do SWT do que propriamente as suas virtudes... Penso que neste caso não poderei ajudar muito, estou muito agarrado ao Swing... no entanto uso o Eclipse que é feito em SWT, talvez por isso veja mais falhas na abordagem SWT do que propriamente virtudes... Seja como for acho que neste caso tens de experimentar para escolher.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Knitter    101
Knitter

Já tinha indica este artigo antes mas acho que pode ser relevante e por isso volto a coloca-lo aqui.

http://www.developer.com/java/other/article.php/10936_2179061_2

Posso traduzir se não perceberes alguma coisa, cá estou eu a puxar a brasa à minha sardinha outra vez :). Seja como for aqui fica, já agora o link é para a página de conclusão, nada parcial  :eek:,  :P,  :biggrin:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
magician    2
magician

Não é preciso traduzir LOL, eu percebo bem ingles :P simplesmente no que toca a programação atrapalho-me uma cado nao sei pk, em expecial com coisas que nunca mexi como é o caso do swing :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
M6    75
M6

Knitter, tudo o que disseste é (quase tudo) verdade, o SWT e o Swing são filosofias distintas.

Sou um pragmático, e na realidade há que analisar muito bem se ter look & feels diferentes e colocar maior trabalho no programador é algo bom ou mau.

Por exemplo, ter vários look & feels não é algo que seja critico para mim, já a performance é um ponto criticio para mim e para os utilizadores.

O SWT também é independente da plataforma, o que faz é implementar os componentes que faltam em cada uma das plataformas em que é suportado.

É verdade que o SWT pode dar mais trabalho ao programador, mas é para isso que cá estou :P, o que me interessa é que o resultado final seja uma aplicação que ajude o utilizador e não uma aplicação que leve o utilizador ao desespero pela sua lentidão (como já vi acontecer várias vezes)...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Knitter    101
Knitter
desespero pela sua lentidão (como já vi acontecer várias vezes)

Isso é culpa do programador :P. Tens razão o swt é multiplataforma, afinal é java, mas é agarrado à plataforma.

E só consigo ver swt para projectos pequenos/medios para os outros a complexidade de manter uma aplicação swt é muito grande.

Se eu quiser voltar a ter acessos invalidos à memoria e bug fantasmas então uso swt. :) :), a brincar claro!

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
M6    75
M6
desespero pela sua lentidão (como já vi acontecer várias vezes)

Isso é culpa do programador :P. Tens razão o swt é multiplataforma, afinal é java, mas é agarrado à plataforma.

E só consigo ver swt para projectos pequenos/medios para os outros a complexidade de manter uma aplicação swt é muito grande.

Se eu quiser voltar a ter acessos invalidos à memoria e bug fantasmas então uso swt. :) :), a brincar claro!

Por acaso eu faço exactamente o contrário: Swing só para aplicações pequenas, pois o seu peso torna as aplicações grandes inutilizaveis...

Mas é um facto que dá muito mais trabalho e, já me deparei com cenas destas, por vezes há limitações que considero estúpidas... :/

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Knitter    101
Knitter

E aqui está a prova que por mais experientes que sejam, dois programadores nunca estão de acordo :P

Não que esteja a dizer que eu sou experiente, nada disso :)

Mas que é um facto curioso é, ainda na semana passada um colega que está fazer um projecto com uma base de dados complexa abordou-me e enquanto eu falava com outro meu colega e perguntou-nos o que era melhor, colocar as protecções na base de dados ou construir uma camada de acesso à base de dados que protegesse a mesma, eu respondi-lhe "constroi uma camada de negocio", o meu colega respondeu-lhe, "restringe na BD", enfim no more off-topic :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Triton    12
Triton

Isto porque em programação não existe um caminho único para chegar ao mesmo resultado, logo a divergência de opiniões.  :biggrin:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
M6    75
M6

E aqui está a prova que por mais experientes que sejam, dois programadores nunca estão de acordo :)

Não que esteja a dizer que eu sou experiente, nada disso :)

Mas que é um facto curioso é, ainda na semana passada um colega que está fazer um projecto com uma base de dados complexa abordou-me e enquanto eu falava com outro meu colega e perguntou-nos o que era melhor, colocar as protecções na base de dados ou construir uma camada de acesso à base de dados que protegesse a mesma, eu respondi-lhe "constroi uma camada de negocio", o meu colega respondeu-lhe, "restringe na BD", enfim no more off-topic :)

É por isso que adoro os "brain storms". :P Inclusivé daqui a pouco vou fazer um...

Permite que sejam discutidos vários pontos de vista e normalmente resultam numa solução melhor do que a que cada participante tinha na sua cabeça de forma individual. :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
HFerro    0
HFerro

Boas, não sei se isto te vai ajudar, mas visto teres problemas com o inglês aconselho-te um livro que na minha opinião é muito bom, apenas peca no índice que é uma autentica porcaria :x, nada é perfeito, mas ao que interessa, que é o conteudo, ai tens algo que considero de boa qualidade para quem está a iniciar-se em Swing, também fala em AWT e faz como que um AWT vs Swing. Tem muitos exemplos práticos, alguns exercicios...não vai muito a fundo, sendo ideal mesmo pra iniciar.

Aqui fica o nome: Programando em Java 2 Interfaces Gráficas e Aplicações Práticas com AWT e Swing, Editora Érica, de Osmar J. Silva.

Respectivo site da editora com o livro:    http://www.editoraerica.com.br/buscafinal.asp?cod=0255

Não sei se no sitio onde vives será facil de o encontrar...eu comprei o meu em Lx na Bertrand do Chiado...

Espero que ajude em algo e bom trabalho :P

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
magician    2
magician

Pois é complicado arranjar livros bons em Portugal geral pelo menos eu noto um pouco isso, em todo o caso muito obrigado pela dica :P vou ver se arrranjo.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
porfirio    0
porfirio

Eu tou a programar em Java ja a algum tempo, perdoem a minha ignorancia mas eu simplesmente na consigo gostar de swt, se fizer o programa multiplataforma tenho que dar diferentes downloads cada um incluindo os binarios diferentes do swt ( E não são nada pequenos... )

O swing é muito mais extensivel, pêlo que sei.

Eu uso o NetBeans e o Project Matisse, assim tenho visual design das forms, é tão fantastico como nos simplesmente criamos uma class a extender o JPanel e dar-lhe algum Paint com uns riscos etc e depois vais a uma Frame adicionas um custum Bean e das-lhe o Panel que criaste e ja vêz os rabiscos que fizeste no Paint() do JPanel

O netbeans é em si a prova de que o Swing é algo em grande!!

Ah e ja que começou a guerra Swing\SWT, por favor tenhão a bondade de não começar a guerra NetBeans\Eclipse  :P

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
M6    75
M6

Eu tou a programar em Java ja a algum tempo, perdoem a minha ignorancia mas eu simplesmente na consigo gostar de swt, se fizer o programa multiplataforma tenho que dar diferentes downloads cada um incluindo os binarios diferentes do swt ( E não são nada pequenos... )

Não creio que se trate de uma questão de gosto mas de pragmatismo.

O Swing é um dos responsáveis pela má fama que o Java tem/tinha em questões de performance, e isso tem uma razão de ser: o Swing pode tornar uma aplicação inusável e levar um utilizador ao "desespero" pelo facto da aplicação lhe atrapalhar o trabalho.

O swing é muito mais extensivel, pêlo que sei.

Eu uso o NetBeans e o Project Matisse, assim tenho visual design das forms, é tão fantastico como nos simplesmente criamos uma class a extender o JPanel e dar-lhe algum Paint com uns riscos etc e depois vais a uma Frame adicionas um custum Bean e das-lhe o Panel que criaste e ja vêz os rabiscos que fizeste no Paint() do JPanel

O netbeans é em si a prova de que o Swing é algo em grande!!

Ah e ja que começou a guerra Swing\SWT, por favor tenhão a bondade de não começar a guerra NetBeans\Eclipse  :P

Mas qual guerra??? Eclipse e JFace rules!!! :P

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
magician    2
magician

M6 nao sei se concordo 100% contigo é verdade que swing é um pouco pesado mas isso todo o java é infelizmente, mas com o java1.6 axo ke isso vai ser resvolvido :P

Em relação a swt ja trabalhei e pessoalmente nao gostei muito a meu ver kebra um bocado a orientação a objectos,n por outro lado swing com o mesmo programa e sem files extra permite ter aspecto win, gtk, mac ou o default java metal o que no swt tem de ser feito com varios pacotes.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
M6    75
M6

M6 nao sei se concordo 100% contigo é verdade que swing é um pouco pesado mas isso todo o java é infelizmente, mas com o java1.6 axo ke isso vai ser resvolvido :P

Então não estás mesmo de acordo comigo. O Java não só não é pesado como até tem performances bastante boas deste a versão 1.4. Isto não é verdade quando falamos de aplicações com interfaces gráficas como o Swing, que degradam, e muito, a performance.

Em relação a swt ja trabalhei e pessoalmente nao gostei muito a meu ver kebra um bocado a orientação a objectos,n por outro

Essa de quebrar o paradigma OO não percebi... Importas-te de explicar melhor?

lado swing com o mesmo programa e sem files extra permite ter aspecto win, gtk, mac ou o default java metal o que no swt tem de ser feito com varios pacotes.

De forma pragmática isso de nada vale. Além de que o swing tem muitos "ficheiros extra" (como lhes chamam), só que já vão incluidos no JDK/JRE e o pessoal nem dá por ela.

Basta ver que o Swing é a resposta às limitações do AWT, o Swing implementa todos os controles em todos os ambientes, ou seja, tem um "chorrilho" de código para implementar todas os objectos em todos os ambientes.

Já o SWT faz uma gestão mais inteligente, usa que o sistema tem disponível e implementa apenas o que falta no sistema em que está a correr: é fácil ver que o SWT é mais leve não só em memória como em "ficheiro extra".

O Swing é giro e tal, mas analisando a coisa friamente, qual a mais valia de ter vários look & feels em especial quando isso se reflecte de forma altamente nefasta na performance da aplicação? Basta perguntarem a vocês mesmos se preferem uma aplicação gira que vos atrapanhe no nosso trabalho ou uma aplicação que não se intrometa na vossa performance quando estão a trabalhar.

Se repararem com atenção não vêm nenhuma grande aplicação a usar Swing: é comum ver aplicações como consolas de DB2 usarem Java, mas a IBM sabe que não se pode dar ao luxo de ter aplicações bonitas em Swing porque o que as pessoas querem é que aquilo responda depressa.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
magician    2
magician

Pá mas a meu ver swt usa coisas sem logica nenhuma por exemplo.

while (!shell.isDisposed())
  {
   if (!display.readAndDispatch())
   {
    display.sleep();
   }
  }
    display.dispose();
   }

Axo absurdo ter de usar codigo como este para fazer com que a janela se mantenha aberta com swt :S

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade