Key Difference – AWT vs Swing
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 aplicativos de desktop, móveis e web. A linguagem fornece kits de ferramentas para criar interfaces gráficas de usuário (GUI) ricas. Dois deles são AWT e Swing. Este artigo discute a diferença entre AWT e Swing. A principal diferença entre o AWT e o Swing é que o AWT é o kit de ferramentas de widget de interface do usuário, gráficos e janelas dependentes da plataforma original do Java, enquanto o Swing é um kit de ferramentas de widget de GUI para Java que é uma extensão do AWT.
O que é AWT?
Uma Interface Gráfica do Usuário é uma interface para os usuários fornecerem instruções para que o software execute 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. Clicar no botão, fechar a janela, digitar algo na caixa de texto são alguns exemplos de eventos que podem ocorrer em uma aplicação baseada em Interface Gráfica do Usuário. Hoje, muitos aplicativos contêm GUIs. Aplicativos móveis, sistemas de reserva de passagens aéreas, caixas eletrônicos possuem interfaces gráficas ricas para que os clientes usem o aplicativo facilmente.
AWT significa Abstract Window Toolkit. O AWT requer um objeto nativo do SO para implementar as funcionalidades. Portanto, os componentes AWT são pesados e requerem mais espaço de memória. Os componentes 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 aplicações GUI baseadas em AWT.
Figura 01: AWT e Swing
Alguns componentes AWT são botão, campos de texto, caixas suspensas, barras de rolagem, janela, quadro, painel, rótulos. Depois de criar os objetos, eles podem ser colocados em um contêiner. Um contêiner fornece espaço para os componentes carregarem. O AWT não é compatível com a aparência conectável. Portanto, um aplicativo AWT desenvolvido em um sistema operacional pode não ter a mesma aparência em outro sistema operacional.
O que é Swing?
Swing é um kit de ferramentas de widget GUI para Java. Faz parte das Java Foundation Classes (JFC) da Oracle. É uma Interface de Programação de Aplicativos para construir GUI para aplicativos Java. Ele é construído em cima da API AWT. O Swing foi desenvolvido para fornecer componentes mais flexíveis e sofisticados que o AWT. Swing contém componentes básicos, como rótulos, 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. Caso o programador precise implementar uma aplicação Swing, é necessário importar o pacote javax.swing. O pacote fornece classes para Java Swing API como JButton, JRadioButton, JTextField, JCheckbox etc.
Os componentes Swing não possuem um código específico da plataforma. Portanto, Swing é independente de plataforma. Ao contrário do AWT, o Swing não requer chamadas nativas do SO para construir componentes. A JVM é responsável por chamar os métodos nativos. Os componentes Swing são leves. O espaço de memória necessário também é mínimo. Este é 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 visão representa a apresentação enquanto o Controlador é a interface entre o Modelo e a Visão. O swing segue esse padrão. Swing suporta a aparência conectável. No geral, é mais poderoso que o AWT.
Qual é a semelhança entre AWT e Swing?
Ambos são kits de ferramentas baseados em Java para construir a Interface Gráfica do Usuário
Qual é a diferença entre AWT e Swing?
AWT vs Swing |
|
AWT é o kit de ferramentas de widget de interface do usuário, gráficos e janelas dependentes da plataforma original do Java que precede o Swing. | Swing é um kit de ferramentas de widget GUI para Java que faz parte do Java Foundation Class (JFC) da Oracle. |
Dependência de plataforma | |
Os componentes AWT dependem da plataforma. | Os componentes Swing são independentes da plataforma. |
Número de Componentes | |
AWT contém menos componentes. | Swing tem um número maior de componentes. |
Componentes | |
Os componentes AWT são pesados. | Os componentes Swing são leves. |
MVC | |
AWT não segue MVC. | Swing segue MVC. |
Velocidade | |
AWT não é tão rápido quanto o Swing. | Swing é mais rápido que AWT. |
Espaço de Memória Necessário | |
Os componentes AWT requerem mais espaço de memória. | Os componentes Swing requerem menos espaço de memória. |
Pacote Requerido | |
AWT requer a importação do pacote javax.awt. | Swing requer a importação do pacote javax.swing. |
Aparência Conectável | |
AWT não oferece suporte a aparência e comportamento conectáveis. | Swing fornece uma aparência conectável. |
Resumo – AWT vs Swing
Este artigo discutiu duas ferramentas de design de interface gráfica do usuário que são AWT e Swing. A diferença entre o AWT e o Swing é que o AWT é o kit de ferramentas de widget de interface de usuário, gráficos e janelas dependentes da plataforma original do Java, enquanto o Swing é um kit de ferramentas de widget de 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 construída usando Swing parece melhor do que a GUI com AWT. Ao contrário do AWT, o Swing é compatível com a aparência conectável e aumenta a usabilidade do aplicativo.
Baixe a versão em PDF de AWT vs Swing
Você pode baixar a 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