Vous avez des améliorations (ou des corrections) à proposer pour ce document :
je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :
Module : java.desktop
Version documentée : Java SE 17
Le paquetage java.awt
Description du paquetage
Historiquement, l'AWT (Abstract Window Toolkit) est la première librairie de mise en oeuvre d'interfaces graphiques proposée par Java.
Cette librairie s'appuie sur les composants graphiques natifs proposés par l'OS sous-jacent, ce qui explique que la même fenêtre peut s'afficher
différemment d'une machine à un autre.
L'AWT défini la notion de composants graphiques (les boutons, les zones de saisie de texte, les cases à cocher...) : c'est la classe
Component qui implémente cette notion. Toutes les autres classes de composants graphiques dérivent de cette
classe. Les composants graphiques sont contenus dans des fenêtres graphiques (classes Frame ou
Dialog).
La librairie AWT sert aussi de couche de base à la librairie Swing : cette dernière a été introduite dans la version 1.2 de Java.
La librairie AWT fut, dès lors, largement moins utilisée.
package fr.koor.awt;
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowListener;
publicclass MainFrame extends Frame {
// On crée deux composants graphiques (deux boutons)private Button btnClickMe = new Button( "Click me!");
private Button btnPushMe = new Button( "Push me!");
/* Notre constructeur. */public MainFrame() {
super( "Titre de la fenêtre" );
// On application une stratégie de positionnement des composants graphiques// dans la fenêtre : FlowLayout => en ligne, jusqu'à saturation de la ligne.this.setLayout( new FlowLayout() );
// On ajoute des boutons et leur gestionnaires d'événementsthis.add( btnClickMe );
btnClickMe.addActionListener( this::btnClickMeActionPerformed );
this.add( btnPushMe );
btnPushMe.addActionListener( this::btnPushMeActionPerformed );
// On associe le gestionnaire d'événements de la fenêtrethis.addWindowListener( windowListener );
// On dimentionne la fenêtrethis.setSize( 600, 480 );
// On centre la fenêtre dans l'écran this.setLocationRelativeTo( null );
}
// Gestionnaire d'événements du bouton btnClick, associé via une référence sur méthodeprivatevoid btnClickMeActionPerformed( ActionEvent event ) {
System.out.println( "btnClickMe is clicked" );
}
// Gestionnaire d'événements du bouton btnPush, associé via une référence sur méthodeprivatevoid btnPushMeActionPerformed( ActionEvent event ) {
System.out.println( "btnPushMe is clicked" );
}
// Gestionnaire d'événements de la fenêtre, associés via une classe anonymeprivate WindowListener windowListener = new WindowAdapter() {
publicvoid windowClosing(java.awt.event.WindowEvent e) {
// En cas de click sur la croix de la fenêtre, on la libère.
dispose();
};
};
publicstaticvoid main( String[] args ) {
// On crée une fenêtre
MainFrame frame = new MainFrame();
// et on l'affiche
frame.setVisible( true );
}
}
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :