Atenção: esse artigo tem um vídeo complementar. Clique e assista!
Redescobrindo o Swing Toolkit – Parte 2
Redescobrindo o Swing Toolkit – Parte 3
O Swing consiste em uma biblioteca de componentes para a criação de programas com alta produtividade focada na interface com o usuário. Através da sua API poderosa e um modelo de aplicação robusto, ele disponibiliza uma série de recursos essenciais para o desenvolvimento de GUIs na plataforma Java.
Em que situação o tema útil:
Em casos onde é necessário oferecer para o usuário soluções para a elaboração de aplicações desktop por meio de uma interface rica e dinâmica e que não estejam restringidas por plataforma.
Resumo DevMan:
Além de fornecer uma API abrangente, o Swing também fornece um framework eficaz no processo de construção de uma aplicação desktop utilizando Java. Sua arquitetura robusta atende às interações necessárias entre o usuário e o programa por meio de seu modelo para o tratamento de eventos. Além disso, o desenvolvimento de aplicativos desktop é facilitado pelo uso de ferramentas GUI builder existentes em grande parte das IDEs para a linguagem Java.
A interface do usuário precursora das GUIs foi o interpretador de comandos de texto, também conhecido como “modo-texto”, console de comandos ou shell. Essa interface textual é responsável por capturar os comandos digitados pelo usuário, interpretá-los e imprimir as informações resultantes na tela (ou terminal). Apesar do ambiente textual (não dependente do ambiente gráfico) oferecer vantagens como redução na ocorrência de erros e falhas durante a execução de programas, e diminuição do consumo dos recursos de hardware da máquina, ou seja, deixando a performance do computador mais “leve”, a utilização desse tipo de interface acaba exigindo dos usuários o conhecimento de tais comandos e seus parâmetros, além da sintaxe da linguagem interpretada.
O advento das GUIs permitiu a criação de uma interface que torna amigável a utilização ou interação do usuário com o computador por meio de elementos gráficos. O surgimento desse tipo de interface revolucionou o uso do computador por eliminar a curva de aprendizado (em conhecer uma lista de comandos para fazer o computador desempenhar uma tarefa por mais simples que seja) da interface textual, e, ao invés disso, substituir o uso dos comandos por ícones que executam os mesmos procedimentos.
A grande vantagem das GUIs é justamente proporcionar um aumento significativo na usabilidade de sistemas e programas, difundindo seu uso e reduzindo a curva de aprendizado necessária para utilizá-los, sem restringir seu acesso pela necessidade de um conhecimento específico.
Dentro deste contexto, apresentaremos nesse artigo o estudo da principal API Java para criação de GUIs na plataforma: o Java Swing toolkit. Mesmo não sendo um assunto recente, o conhecimento desta API é fundamental para o programador Java que não deseja ficar limitado a um único ambiente (web, por exemplo). É importante ter em mente que um estudo correto sobre o Swing (assim como sobre qualquer API) possibilita um bom aproveitamento de todo o potencial oferecido pela API.
Assim, o objetivo desse artigo é oferecer ao leitor uma visão geral dessa tecnologia, mostrando os principais componentes, conceitos e arquitetura. Para tanto, vamos explorar detalhes essenciais para a compreensão do modelo oferecido pelas aplicações Swing. Ao final dessa primeira parte, teremos o embasamento necessário para compreender e desenvolver a parte prática.
O que é Swing?
O Swing pertence a um conjunto de tecnologias conhecido como Java SE Desktop. Essas tecnologias convergem para a criação de aplicações Rich Client e Applets que executem de forma rápida, segura e sejam portáveis. Além do Swing, outras tecnologias que fazem parte do Java SE Desktop são: o Java Web Start/JNLP, Java Plug-In, Java Sound, Java 2D, Java 3D, Java Bindings for OpenGL (JOGL), AWT ( ...