Différence entre Swing et AWT | Java

Les programmeurs Java sont souvent confus quant à la différence entre les composants AWT et Swing. Dans ce tutoriel nous allons voir les caractéristiques et les fonctionnalités de AWT et Swing.

Alors que Swing est une collection de composants qui ont la capacité de développer des objets d’interface graphique (GUI) indépendamment de la plate-forme, les composants AWT dépendent de la plate-forme et fonctionnent différemment sur différentes plates-formes.
 
 

Différence entre Swing et AWT
AWT
Swing
Les composants AWT dépendent de la plate-forme.Les composants Java swing ne dépendent pas de la plateforme. Ils sont purement scriptés en Java.
Lourd.Légers, les composants sont conçus pour étre au TOP des composants AWT et effectuer leurs tâches. Ces composants sont généralement légers car ils n’ont pas besoin d’objets OS natifs pour implémenter leurs fonctionnalités.
Les composants AWT ne prennent pas en charge ‘look & feel’ (aspects et comportements).Les composants Java swing offrent une prise en charge de ‘look & feel’ (aspects et comportements). L’API Java swing contient des classes telles que Jbutton, JtextField, JradioButton, Jcheckbox, JtextArea, JMenu, JcolorChooser, etc. qui ajoutent des fonctionnalités supplémentaires aux objets.
Les composants AWT sont moins nombreux que les composants Swing.Les composants Java Swing sont bien plus nombreux.
Les composants AWT en Java ne suivent pas l’architecture MVC (Model View Controller)Les composants Swing en Java suivent le modèle MVC (Model View Controller).
AWT signifier Abstract Windows ToolkitLes composants Swing en Java sont également appelés JFC(Java Foundation Classes).
Les composants AWT ont besoin du package java.awt.Les composants Swing ont besoin du package javax.swing.
Les fonctionnalités avancées décrites par les composants Swing ne sont pas présentes dans les composants AWT.Les composants Swing décrivent plusieurs fonctionnalités avancées telles que JTabel, JTabbed pane, etc. Ces fonctionnalités avancées sont spécifiques uniquement aux composants Swing.
De nombreuses fonctions de composants AWT doivent être implémentées par le programmeur.Les composants Swing offrent des fonctions intégrées.
Les composants AWT nécessitent et occupent un espace mémoire plus important.Les composants Swing n’occupent pas autant d’espace mémoire que les composants AWT.
Les composants AWT sont plus lents que les composants Swing en termes de performances.Swing est plus rapide que AWT.

 
 

Qu’est-ce que AWT en JAVA?

Abstract Window Toolkit (AWT) fait référence à une collection d’interfaces (API) utilisées par les programmeurs Java pour la création des objets d’interface graphique (GUI). Ces objets se présentent sous la forme des barres de défilement, des fenêtres, des boutons, etc. Cette boîte à outils est un composant essentiel de Java Foundation Classes (JFC) appartenant à Sun Microsystems, qui est la société responsable de l’origine de Java.
 

Exemple: AWT
import java.awt.*;

public class AwtExemple
{
	AwtExemple()
	{
		// créer un frame
		Frame f = new Frame();
		
		// créer une étiquette		
		Label l = new Label("Welcome to WayToLearnX");
		
		// ajouter l'étiquette au frame
		f.add(l);
		
		// définir la taille du frame
		f.setSize(300, 300);
		
		// définir la visibilité du frame sur true
		f.setVisible(true);    
	}
	public static void main(String args[])
	{
		AwtExemple awt = new AwtExemple();
	}
}

Sortie:


 
 

Qu’est-ce que Swing en JAVA?

Swing en Java fourni une boîte à outils légère pour créer des interfaces graphiques (GUI); la boîte à outils est fournie avec des widgets et plein de fonctionnalités.

Swing fait partie de Java Foundation Classes (JFC) qui fournit aux programmeurs plusieurs packages utiles pour le développement d’applications riches et conviviales en Java. Les contrôles intégrés dans Swing comprennent des buttons, trees, tabbed panes, color choosers, sliders, toolbars, tables, etc.

Swing permet également la création des zones de texte pour afficher des objets au format RTF ou HTTP. Les composants Swing sont écrits uniquement en java et sont donc indépendants de la plateforme.
 

Exemple:
import javax.swing.*; 

public class SwingExemple
{
	SwingExemple()
	{
		// créer un frame
		JFrame f = new JFrame();
		
		// créer une étiquette		
		JLabel l = new JLabel("Welcome to WayToLearnX");
		
		// ajouter l'étiquette au frame
		f.add(l);
		
		// définir la taille du frame
		f.setSize(300, 300);
		
		// définir la visibilité du frame sur true
		f.setVisible(true);    
	}
	public static void main(String args[])
	{
		SwingExemple swg = new SwingExemple();
	}
}

Sortie:


 
Partagez cet article

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *