A programação na linguagem Java realmente começou a decolar simplesmente por causa de sua capacidade de trazer programas em várias plataformas. Isso não se aplica apenas aos computadores de mesa, mas o Java também está presente nos pocket PCs e até nos telefones celulares padrão. Por causa disso, já existem muitas pessoas que desejam programar para a linguagem Java para aproveitar esse mercado grande e crescente.
Programar em Java significa que você deve ter as ferramentas certas para concluir seu projeto com rapidez e eficiência. Uma das ferramentas essenciais é o componente GUI (Interface gráfica do usuário). Isso permite que você adicione facilmente componentes gráficos sem a maior parte da programação necessária. Nesta categoria, há dois que você pode escolher. O primeiro é o AWT (Abstract Window Toolkit) e o segundo é o balanço, que apareceu muito mais tarde.
Ambos os kits de ferramentas têm seus próprios prós e contras que os tornam adequados para diferentes tipos de necessidades de programação. O AWT usa muitos dos comandos nativos da plataforma que lhe conferem uma grande quantidade de velocidade. Mas, para convertê-lo para uso em outras plataformas, você deve alterar os comandos de contrapartida. O Swing, por outro lado, usa código Java puro, tornando-o muito portátil em várias plataformas, com o custo de velocidade e desempenho.
Outra característica do swing é que ele tenta emular a aparência do sistema operacional em que está sendo executado, fazendo com que ele se pareça com o ambiente nativo. Isso é superado pelo AWT, pois usa comandos nativos; parece exatamente com a aparência da interface do usuário nativa. Uma grande vantagem do swing é que ele suporta muito mais recursos do que o AWT. Componentes como dicas de ferramentas e ícones não estão disponíveis no AWT enquanto são totalmente utilizáveis no swing. Os recursos adicionados e o design java puro do swing, no entanto, significam que você precisaria do plug-in java para que o programa fosse executado, enquanto a maioria dos navegadores hoje já suporta as classes AWT que eliminam a necessidade de downloads de plug-ins..
Resumindo, se você deseja criar miniaplicativos java simples, pode achar que os métodos de construção rápidos e fáceis do AWT são de grande ajuda. Mas se você deseja criar um aplicativo completo, pode analisar o que o swing pode oferecer. A lista de componentes aprimorada e a portabilidade podem ser mais úteis.