Atenção: esse artigo tem um vídeo complementar. Clique e assista!

De que se trata o artigo:

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.

Em que situação o tema é útil:

O conhecimento de Swing é útil para a criação de interfaces desktop que precisam ser multiplataforma, extensíveis, customizáveis, internacionalizáveis e ricas, utilizando uma biblioteca conhecida e confiável da plataforma Java.

Resumo DevMan:

O artigo apresenta ao leitor a API Swing, mostrando suas principais funcionalidades e contando um pouco da sua história. Logo após, serão apresentados os principais conceitos de programação para interfaces gráficas com esta API, através de exemplos de código. Por fim, serão analisadas algumas ferramentas de geração visual de interfaces Swing para os principais ambientes de desenvolvimento do mercado.

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 ( ...

Quer ler esse conteúdo completo? Tenha acesso completo