SWING - Visão geral
Swing API é um conjunto de componentes GUI extensíveis para facilitar a vida do desenvolvedor para criar aplicativos front-end / GUI baseados em JAVA. Ele é construído sobre a API AWT e atua como uma substituição da API AWT, uma vez que possui quase todos os controles correspondentes aos controles AWT. O componente Swing segue uma arquitetura Model-View-Controller para atender aos seguintes critérios.
Uma única API deve ser suficiente para oferecer suporte a múltiplas aparências.
A API deve ser orientada por modelo, de modo que a API de nível mais alto não precise ter dados.
API é usar o modelo Java Bean para que Builder Tools e IDE possam fornecer melhores serviços para os desenvolvedores usarem.
Arquitetura MVC
A arquitetura da API Swing segue a arquitetura MVC vagamente baseada da seguinte maneira.
O modelo representa os dados do componente.
View representa a representação visual dos dados do componente.
O controlador recebe a entrada do usuário na visualização e reflete as alterações nos dados do componente.
O componente Swing tem Model como um elemento separado, enquanto a parte View e Controller são combinadas nos elementos da interface do usuário. Por causa disso, o Swing tem uma arquitetura de aparência plugável.
Características do Swing
Light Weight - Os componentes Swing são independentes da API do sistema operacional nativo, pois os controles da API Swing são renderizados principalmente usando código JAVA puro em vez de chamadas de sistema operacional subjacentes.
Rich Controls - Swing fornece um rico conjunto de controles avançados como Tree, TabbedPane, slider, colorpicker e controles de tabela.
Highly Customizable - Os controles de swing podem ser personalizados de uma maneira muito fácil, pois a aparência visual é independente da representação interna.
Pluggable look-and-feel - A aparência do aplicativo GUI com base em SWING pode ser alterada em tempo de execução, com base nos valores disponíveis.