Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Swing: O Desktop Java - Revista Easy Java Magazine 12
Neste artigo veremos uma introdução à programação de interfaces gráficas utilizando a API Swing. Serão mostrados os conceitos fundamentais de programação de interfaces e exemplos de código das principais funcionalidades providas pela API.
Você não gostou da qualidade deste conteúdo?
(opcional) Você gostaria de comentar o que não lhe agradou?
[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Easy Java Magazine 12
A API Swing é a principal biblioteca para criação de aplicações desktop com Java. Aplicações desktop são aquelas que rodam diretamente na máquina do usuário, sendo necessária a instalação prévia do programa para que possam ser executados. Aplicativos office, players de vídeo e áudio, ambientes de desenvolvimento de software são exemplos comuns desse tipo de aplicação.
O Swing trouxe para o Java uma biblioteca gráfica completa, com um rico conjunto de componentes para tornar as aplicações mais ricas e interativas. Permite criar sistemas multiplataforma, internacionalizáveis, com aparência nativa ou customizada, extensível ao ponto de se poder criar novos componentes e integrá-los à sua aplicação sem dificuldades, totalmente orientado a objetos, e que utiliza padrões de projeto em seu código-fonte.
Neste artigo conheceremos essa importante API, estudaremos seu funcionamento e como podemos utilizá-la para implementar as nossas aplicações.
Um pouco de História: Swing, AWT, Applets
Desde 1996, em seu lançamento, a linguagem Java já possuía um framework para criação de interfaces gráficas: o AWT. O Abstract Window Toolkit é uma biblioteca gráfica completa e possui toda a implementação de janelas, tratamento de eventos, layouts, componentes gráficos como listas, botões etc. Seu código faz chamadas nativas ao sistema gráfico do Sistema Operacional para desenhar os componentes de tela, o que torna as aplicações feitas com ele menos portáveis, afinal, uma janela no Windows não se parece com uma janela no Linux. Deste modo o desenvolvedor não consegue fazer sua aplicação se comportar de maneira semelhante nos diversos sistemas existentes.
Em
O Swing utilizou a base do AWT, mantendo a compatibilidade com aplicações feitas neste framework, e o melhorou, retirando o problema da portabilidade e introduzindo o conceito de Look and Feel (algo como “visual e essência”). Os componentes visuais foram todos desenhados utilizando a biblioteca Java 2D e imitam os visuais nativos dos diversos Sistemas Operacionais. Com isso, uma aplicação feita em Swing passou a rodar no Linux com visual próximo das aplicações feitas para Windows.
A arquitetura do framework baseia-se no MVC (Model-View-Controller) para a organização de seus componentes. Isso significa que cada componente possui classes que cuidam de sua visualização (view), de seus dados (model) e da interação entre um e outro (controller). Mais detalhes podem ser encontrados na referência “A Arquitetura do Framework Swing”, disponível na seção Links. Também podem ser encontrados vários outros padrões de projeto sendo utilizados, como é o caso do Composite, na implementação dos containers.
Para rodar uma aplicação feita em Swing temos várias opções. A mais comum é criar uma aplicação standalone, onde as classes são copiadas para a máquina do cliente e executadas em uma máquina virtual previamente instalada. Outra forma bastante conhecida é através de Applets, onde a aplicação é chamada por um browser e roda como parte de uma página web. A terceira é utilizando o "
Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Engenheiro de Computação pelo ITA em 2003, concluiu o MBA em Gerência de Projetos em 2008. Conheceu o Java em 2000, porém somente em 2004 iniciou o trabalho profissional com a plataforma, onde somou experiência em várias áreas, como desenvolvimento para desktop (Swing, Eclipse RCP, Java Web Start), ...



