No desenvolvimento de aplicações é natural a necessidade de se criarem interfaces gráficas que permitam a interacção entre o utilizador e a aplicação, em Java, criar aplicações com interface gráficas (GUI1)) é possível através de uma de 4 tecnologias: AWT, Swing, SWT e Java2D.
Java2D, como o nome indica, permite-nos criar elementos em 2D, permite ler imagens, mostrar texto, imprimir, desenhar formas geométricas básicas (quadrados, circunferências, etc.) ou polígonos mais complexos. Com Java2D, embora possamos fazer muitas GUIs interessantes, o código necessário é em quantidade e exigência técnica2) maior que nas restantes tecnologias.
AWT3) é o toolkit4) gráfico que foi adicionado ao Java nas versões iniciais, é um toolkit com forte ligação ao sistema operativo, sendo considerado um toolkit cujos componentes são heavy-weight 5) o seu aspecto é o similar às aplicações do Windows 956), e não é o toolkit que se considerará como primeira escolha nas versões actuais do Java.
SWT7) é um toolkit desenvolvido, inicialmente, pela IBM e que é agora controlado pela Eclipse Foundation. Pretende ser um toolkit com aspecto nativo usando as bibliotecas do sistema operativo8) através de ligações JNI9). Embora uma aplicação feita com SWT seja portável, as bibliotecas SWT são específicas para cada sistema operativo.
SWT foi desenhado com o objectivo de atingir uma maior integração com o sistema operativo onde as aplicações são executadas, um aspecto nativo de modo a ser similar a aplicações do sistema operativo, e uma maior performance10).
SWT sofre também de alguma falta de suporte no que toca a IDEs, não existindo ferramentas de desenvolvimento rápido com a mesma qualidade que existem para AWT ou Swing e por não ser parte do standard da plataforma Java11).
Até à versão 6 updade 10 não era possível misturar Swing com SWT de forma coerente e que permitisse utilizar vantagens das duas tecnologias.
Swing é uma evolução do AWT, pretende ser um toolkit extremamente personalizável, com componentes light-weight12) e que oferece mais que um simples conjunto de elementos gráficos mas uma ferramenta completa para a criação de GUIs. Incluí suporte para drag-and-drop, copy+paste, internacionalização, usabilidade, etc. O seu suporte para look-and-feels13) permite uma personalização do aspecto sem limites, quer através de código quer através de XML.
Swing, no entanto, exige que o programador tenha um bom conhecimento de Java e de POO, isto porque a facilidade e desenvolvimento é acompanhada pela facilidade de se desenvolverem aplicações que fazem mau uso dos recursos, resultando numa aplicação lenta, com maus tempos de resposta ou problemas de consumo excessivo de recursos (CPU e memória). Iremos abordar problemas de desenho em pontos seguintes.
(…)
(…)
(…)
TODO:
* Primeira Aplicação Swing - Campo Minado, nova página * Aplicação Swing Usando Designer do IDE - Gestor de Faltas, nova página + video
<< Genéricos :: Início :: Serialização >>