O Java sempre foi conhecido por ser uma linguagem
eminentemente voltada para aplicações que rodam em servidores, em particular, as
web, embora seja de fins gerais e esteja presente nos mais diversos
dispositivos, como celulares, smartphones e PCs. Nos PCs, podemos encontrar
diversas aplicações desktop feitas em Java, como é o caso do software da
Receita Federal para declaração de imposto de renda (IRPF), o Azureus (um
cliente BitTorrent), o NetBeans IDE, o IntelliJ IDEA e algumas menos
divulgadas, como o sistema gerenciador dos Correios e Telégrafos, o sistema de
planejamento de missões aéreas da Aeronáutica, entre outros. Estes aplicativos
foram desenvolvidos utilizando a conhecida biblioteca chamada Swing.
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 1997, a
Sun Microsystems anunciou que iria incorporar ao Java Foundation Classes (JFC)
o IFC (Internet Foundation Classes),
uma biblioteca gráfica feita em Java pela Netscape Communications Corporation.
Em 1999, com o lançamento do Java 2,
a JFC foi incorporada ao Java Development Kit sob o nome
de Swing.
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 App
...
Exibição do post interrompida. Para ler conteúdo completo,
clique aqui