Qual é a diferença entre AWT e Swing em Java

Índice:

Anonim

o principal diferença entre AWT e Swing em Java é que o AWT é o kit de ferramentas de janela, gráficos e interface do usuário dependente da plataforma original do Java, enquanto o Swing é um kit de ferramentas de widget GUI para Java que é uma extensão do AWT.

Java é uma linguagem de programação de alto nível de uso geral que oferece suporte à programação orientada a objetos, multithreading, independência de plataforma e muitos outros recursos. O programador pode escrever uma variedade de aplicativos, incluindo desktop, web, celular, processamento de imagens, etc., usando a linguagem Java. Ele fornece kits de ferramentas para construir interfaces gráficas de usuário (GUI) ricas. AWT e Swing são dois deles.

AWT, GUI, Java, Swing

O que é uma GUI

GUI significa Interface gráfica do usuário. É uma interface que permite aos usuários operar um aplicativo e executar as tarefas necessárias. Além disso, uma GUI consiste em vários componentes. Janela, botões, botões de rádio, caixas de seleção, rótulos, listas suspensas, campos de texto, caixas de combinação são alguns componentes da GUI. Esses componentes podem disparar eventos. Por exemplo, uma nova página é aberta após clicar em um botão, ou o usuário pode inserir os detalhes do registro e pressionar o botão enviar. A maioria dos aplicativos possui uma GUI para permitir que o usuário se comunique com o aplicativo.

O que é AWT

AWT significa Abstract Window Toolkit. É uma API para desenvolver aplicativos baseados em GUI ou Windows em Java. Requer um objeto de sistema operacional nativo para implementar as funcionalidades. Além disso, os componentes AWT são pesados ​​e requerem mais espaço de memória. Além disso, eles levam algum tempo para serem executados. Além disso, o programador precisa importar o pacote javax.awt para desenvolver uma GUI baseada em AWT. Botão, barras de rolagem, campos de texto, listas, caixas de diálogo e painéis são alguns componentes do AWT. Depois de criar os objetos, eles são colocados em um contêiner. Além disso, fornece o espaço necessário para o carregamento dos componentes. Normalmente, o aplicativo AWT em um sistema operacional pode parecer diferente em outro sistema operacional.

O que é Swing

Swing é um kit de ferramentas de widget GUI para Java. Ele é construído com base na API AWT. Além disso, faz parte das Java Foundation Classes (JFC) da Oracle. Além disso, o Swing fornece componentes básicos, como rótulos, caixas de texto, botões, etc., bem como componentes avançados, como painéis com guias, mesa e árvores. Portanto, o Swing fornece componentes mais sofisticados do que o AWT. Aqui, o programador precisa importar o pacote javax.swing para escrever um aplicativo Swing. Este pacote fornece várias classes, como JButton, JTable, JList, JTextArea e JCheckBox.

Figura 1: aplicativo Java Swing simples

O Swing é independente de plataforma e seus componentes são leves. Além disso, os componentes requerem espaço mínimo de memória. Portanto, os aplicativos Swing são executados com muito mais rapidez. Um padrão de design comum em desenvolvimento é o padrão Model, View, Controller (MVC). O swing segue esse padrão. Isso ajuda a manter o código facilmente.

Diferença entre AWT e Swing

Definição

AWT é uma coleção de componentes GUI (widgets) e outros serviços relacionados necessários para a programação GUI em Java. Swing é uma parte do Java Foundation Classes (JFC) que é usado para criar aplicativos GUI front-end baseados em Java. Portanto, isso explica a principal diferença entre AWT e Swing em Java.

Modelo

Os componentes AWT são pesados, enquanto os componentes Swing são leves.

Dependência de plataforma

Outra grande diferença entre AWT e Swing em Java é que AWT é dependente da plataforma, enquanto o Swing é independente da plataforma.

Exibição

Componentes

Além disso, o Swing tem componentes mais avançados do que o AWT.

Velocidade

Além disso, a execução do AWT é mais lenta. No entanto, o Swing é executado mais rápido.

MVC

AWT não oferece suporte ao padrão MVC, enquanto o Swing oferece suporte ao padrão MVC. Esta é outra diferença entre AWT e Swing.

Espaço de Memória

Pacote

O programador precisa importar o pacote javax.awt para desenvolver uma GUI baseada em AWT. No entanto, o programador precisa importar o pacote javax.swing para escrever um aplicativo Swing.

Conclusão

Em resumo, AWT e Swing são dois kits de ferramentas para construir interfaces gráficas de usuário (GUI) ricas. A principal diferença entre AWT e Swing em Java é que AWT é o kit de ferramentas de interface de usuário, gráficos e janelas dependentes da plataforma original do Java, enquanto Swing é um kit de ferramentas de widget GUI para Java que é uma extensão do AWT.

Referência:

1. “Visão geral do AWT.” Www.tutorialspoint.com, disponível aqui.2. “Visão geral do SWING.” Www.tutorialspoint.com, disponível aqui.3. “Swing (Java).” Wikipedia, Wikimedia Foundation, 9 de junho de 2018, disponível aqui.4. “Abstract Window Toolkit.” Wikipedia, Wikimedia Foundation, 26 de agosto de 2018, disponível aqui.

Cortesia de imagem:

1. “Java Swings Wikibook, Event Handling, example 1 screenshot” Por Samwilson - Próprio trabalho (CC BY-SA 3.0) via Commons Wikimedia

Qual é a diferença entre AWT e Swing em Java