Java é uma linguagem de programação de alto nível desenvolvida pela Sun Microsystems. Java suporta Programação Orientada a Objetos que ajuda a projetar e desenvolver um software usando objetos. Quando o programa Java é compilado, ele é convertido em um bytecode. Esse bytecode é interpretado pela Java Virtual Machine (JVM) em qualquer plataforma; portanto, é uma linguagem de programação que os programadores podem escrever uma vez e executar em qualquer plataforma. Java pode ser usado para desenvolver uma variedade de aplicativos, como desktop, dispositivos móveis e aplicativos da web. O idioma fornece kits de ferramentas para a criação de interfaces gráficas de usuário (GUI). Dois deles são AWT e Swing. Este artigo discute a diferença entre AWT e Swing. o diferença chave entre AWT e Swing é que O AWT é o kit de ferramentas de widgets, gráficos e interfaces de usuário originais da plataforma Java, enquanto o Swing é um kit de ferramentas de GUI para Java que é uma extensão do AWT.
1. Visão geral e principais diferenças
2. O que é AWT
3. O que é Swing
4. Semelhanças entre AWT e Swing
5. Comparação lado a lado - AWT vs Swing em forma de tabela
6. Resumo
Uma interface gráfica do usuário é uma interface para os usuários fornecerem instruções para o software executar tarefas. Consiste em vários componentes gráficos. Alguns componentes da GUI são janela, botão, caixa de combinação, área de texto, caixa de listagem e rótulo. Usando esses componentes, o programador pode desenvolver uma interface de usuário interativa para o aplicativo. Uma GUI é baseada em eventos. Clique no botão, feche a janela, digite algo na caixa de texto. Alguns exemplos de eventos que podem ocorrer em um aplicativo baseado na Interface Gráfica do Usuário. Hoje, muitos aplicativos contêm GUIs. Aplicações móveis, sistemas de reserva de passagens aéreas, caixas automáticos têm interfaces gráficas ricas para os clientes usarem o aplicativo facilmente.
AWT significa Abstract Window Toolkit. O AWT requer um objeto SO nativo para implementar as funcionalidades. Portanto, os componentes AWT são pesados e requerem mais espaço de memória. Os componentes do AWT também levam tempo para serem executados. O número de componentes disponíveis no AWT é mínimo. É necessário importar o pacote javax.awt para desenvolver aplicativos GUI baseados em AWT.
Figura 01: AWT e Swing
Alguns componentes do AWT são botões, campos de texto, caixas suspensas, barras de rolagem, janela, moldura, painel, etiquetas. Após a criação dos objetos, eles podem ser colocados em um contêiner. Um contêiner fornece espaço para o carregamento dos componentes. O AWT não suporta aparência e funcionalidade conectáveis. Portanto, um aplicativo AWT desenvolvido em um sistema operacional pode não ser o mesmo em outro sistema operacional.
Swing é um kit de ferramentas de widget da GUI para Java. Faz parte do Java Foundation Classes (JFC) da Oracle. É uma interface de programação de aplicativos para criar GUI para aplicativos Java. Ele é construído sobre a API do AWT. O Swing foi desenvolvido para fornecer componentes mais flexíveis e sofisticados que o AWT. O Swing contém componentes básicos, como etiquetas, caixas de texto, botões. Ele também contém componentes mais avançados. Alguns deles são árvores, tabelas, listas, painéis de rolagem e painéis com guias. Se o programador precisar implementar um aplicativo Swing, é necessário importar o pacote javax.swing. O pacote fornece classes para a API Java Swing, como JButton, JRadioButton, JTextField, JCheckbox etc..
Os componentes Swing não têm um código específico da plataforma. Portanto, o Swing é independente da plataforma. Ao contrário do AWT, o Swing não requer chamadas de SO nativas para criar componentes. A JVM é responsável por chamar os métodos nativos. Os componentes do Swing são leves. O espaço de memória necessário também é mínimo. Esse é um fator considerável para executar aplicativos baseados em Swing mais rapidamente. No desenvolvimento de aplicativos, Model, View, Controller (MVC) é um padrão de design comum. O modelo representa dados. A vista representa a apresentação enquanto o Controller é a interface entre Modelo e Vista. O balanço segue esse padrão. O Swing suporta a aparência e o toque conectáveis. No geral, é mais poderoso que o AWT.
AWT vs Swing | |
O AWT é o kit de ferramentas para janelas, gráficos e widgets de interface do usuário original, dependente da plataforma de Java, anterior ao Swing. | O Swing é um kit de ferramentas de GUI para Java que faz parte do Java Foundation Class (JFC) da Oracle. |
Dependência da plataforma | |
Os componentes do AWT dependem da plataforma. | Os componentes do balanço são independentes da plataforma. |
Número de componentes | |
AWT contém menos número de componentes. | Swing tem um número maior de componentes. |
Componentes | |
Os componentes do AWT são pesados. | Os componentes do balanço são leves. |
MVC | |
O AWT não segue o MVC. | Swing segue MVC. |
Rapidez | |
AWT não é rápido como Swing. | O balanço é mais rápido que o AWT. |
Espaço de memória necessário | |
Os componentes AWT requerem mais espaço de memória. | Os componentes do balanço requerem menos espaço de memória. |
Pacote Necessário | |
O AWT requer a importação do pacote javax.awt. | O Swing requer a importação do pacote javax.swing. |
Aparência e sensação plugáveis | |
O AWT não suporta aparência e funcionalidade conectáveis. | Swing fornece uma aparência e uma sensação conectáveis. |
Este artigo discutiu duas ferramentas de Design de interface gráfica do usuário, AWT e Swing. A diferença entre o AWT e o Swing é que o AWT é o kit de ferramentas de janela, gráfico e de interface do usuário original, dependente da plataforma de Java, enquanto o Swing é um kit de ferramentas de widget da GUI para Java, que é uma extensão do AWT. O Swing fornece funcionalidades mais ricas em comparação com o AWT. A aparência da GUI criada usando o Swing parece melhor do que a GUI com AWT. Ao contrário do AWT, o Swing suporta a aparência e a funcionalidade conectáveis e aumenta a usabilidade do aplicativo.
Você pode fazer o download da versão em PDF deste artigo e usá-la para fins offline, conforme nota de citação. Faça o download da versão em PDF aqui: Diferença entre AWT e Swing
1.tutorialspoint.com. “Visão geral do SWING.” O ponto. Disponivel aqui
2. "Swing (Java)". Wikipedia, Wikimedia Foundation, 24 de janeiro de 2018. Disponível aqui
3. "Abstract Window Toolkit". Wikipedia, Wikimedia Foundation, 22 de janeiro de 2018. Disponível aqui
4. “Tutorial do Java Swing - javatpoint.” Disponivel aqui
5.tutorialspoint.com. "Visão geral do AWT". O ponto. Disponivel aqui
1.'AWTSwingClassHierarchy 'Por Jakub Závěrka - Jakub Závěrka - próprio trabalho, (Domínio Público) via Commons Wikimedia