Desenvolvimento de aplicações gráficas

A linguagem Java oferece, dentre as funcionalidades incorporadas à sua API padrão, um extenso conjunto de classes e interfaces para o desenvolvimento de aplicações gráficas. Esse conjunto facilita a criação de saídas na forma gráfica e de interfaces gráficas com usuários (GUIs), tanto na forma de aplicações autônomas como na forma de applets .

Aplicações gráficas são criadas através da utilização de componentes gráficos e recursos associados, que em Java estão agrupados em dois grandes pacotes, java.awt e javax.swing.

AWT é o Abstract Windowing Toolkit, sendo definido através das classes do pacote java.awt e seus subpacotes, tais como java.awt.event e java.awt.color. As classes desses pacotes agrupam as funcionalidades gráficas que estão presentes desde as primeiras versões de Java, que operam tendo por base as funcionalidades do gerenciador de janelas e bibliotecas nativas do sistema onde a aplicação é executada.

Já o framework Swing, associado ao pacote javax.swing e seus subpacotes, é uma extensão definida a partir de AWT que define componentes gráficos que utilizam exclusivamente Java (lightweight components), com funcionalidades e aparência independentes do sistema onde a aplicação é executada. Na plataforma Java 2, Swing passou a fazer parte da distribuição padrão.