Comment utiliser WindowListener dans le système Swing ?

Nov 19, 2025|

Salut! En tant que fournisseur du système Swing, je suis ravi de partager avec vous comment utiliser WindowListener dans le système Swing. Swing est une superbe boîte à outils Java GUI (Graphical User Interface), et WindowListener joue un rôle crucial dans la gestion des événements liés aux fenêtres.

Tout d’abord, comprenons ce qu’est un WindowListener. Dans le monde Java Swing, un WindowListener est une interface qui vous permet d'écouter les événements qui se produisent sur une fenêtre. Ces événements incluent l'ouverture, la fermeture, la désiconification, l'activation ou la désactivation de la fenêtre.

Implémentation de WindowListener

Pour utiliser WindowListener, vous disposez de plusieurs manières. Une méthode courante consiste à créer une classe qui implémente l'interface WindowListener. Voici un exemple simple :

importer javax.swing.* ; importer java.awt.event.WindowAdapter ; importer java.awt.event.WindowEvent ; public class SwingWindowExample { public static void main(String[] args) { JFrame frame = new JFrame("Exemple de fenêtre Swing"); frame.setSize(400, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.addWindowListener(new WindowAdapter() { @Override public void windowOpened(WindowEvent e) { System.out.println("La fenêtre est ouverte!"); } @Override public void windowClosing(WindowEvent e) { System.out.println("La fenêtre se ferme!"); } @Override public void windowClosed(WindowEvent e) { System.out.println("La fenêtre est fermée!"); } @Override public void windowIconified(WindowEvent e) { System.out.println("La fenêtre est iconifiée!"); } @Override public void windowDeiconified(WindowEvent e) { System.out.println("La fenêtre est dé-iconifiée!"); System.out.println("La fenêtre est activée !"); } @Override public void windowDeactivated(WindowEvent e) { System.out.println("La fenêtre est désactivée !" } }); frame.setVisible(true); } }

Dans ce code, nous créons un simple JFrame. Au lieu d'implémenter l'interface WindowListener complète, nous utilisons la classe WindowAdapter. WindowAdapter est une classe abstraite qui fournit des implémentations vides de toutes les méthodes de l'interface WindowListener. De cette façon, il suffit de remplacer les méthodes qui nous intéressent.

Pourquoi utiliser WindowListener ?

Vous vous demandez peut-être : « Pourquoi dois-je utiliser un WindowListener ? » Eh bien, il existe des tonnes d’applications pratiques. Par exemple, lorsqu'une fenêtre est sur le point de se fermer, vous souhaiterez peut-être enregistrer les données utilisateur ou effectuer certaines opérations de nettoyage. Ou, lorsqu'une fenêtre est activée, vous pouvez mettre à jour l'interface utilisateur pour afficher les dernières informations.

Disons que vous créez une application de saisie de données. Lorsque l'utilisateur ferme la fenêtre, vous pouvez utiliser lefenêtreFermetureméthode pour inviter l’utilisateur à enregistrer toutes les modifications non enregistrées.

importer javax.swing.* ; importer java.awt.event.WindowAdapter ; importer java.awt.event.WindowEvent ; public class DataEntryApp { public static void main(String[] args) { JFrame frame = new JFrame("Application de saisie de données"); frame.setSize(400, 300); frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { int Choice = JOptionPane.showConfirmDialog(frame, "Voulez-vous enregistrer vos modifications ?", "Enregistrer les modifications", JOptionPane.YES_NO_OPTION); if (choice == JOptionPane.YES_OPTION) { // Le code pour enregistrer les données va ici System.out.println("Données enregistrées !"); } frame.dispose(); frame.setVisible(true); } }

Nos offres de systèmes de balançoire

En tant que fournisseur, nous disposons d'une large gamme de composants pour systèmes de balançoires. Consultez notreEnsemble de système d'oscillation pour excavatrice. Cet ensemble est conçu pour assurer un fonctionnement fluide et efficace des excavatrices. Il est construit avec des matériaux de haute qualité pour garantir durabilité et performances à long terme.

Nous avons également leArbre oscillant pour excavatrice. L'arbre oscillant est un élément essentiel du mécanisme d'oscillation, et le nôtre est conçu pour supporter des charges lourdes et des conditions de contraintes élevées.

Un autre élément important est leRoulements à couronne d'orientation. Ces roulements permettent une rotation en douceur dans le système de balançoire, réduisant ainsi la friction et l'usure.

Connecter WindowListener à notre système Swing

Maintenant, vous vous demandez peut-être : « Comment le WindowListener se connecte-t-il à notre système swing ? Eh bien, dans un système de swing contrôlé par logiciel, vous pouvez utiliser WindowListener pour gérer l'interface utilisateur qui contrôle le mécanisme de swing. Par exemple, lorsque la fenêtre qui contrôle le système swing est ouverte, vous pouvez initialiser le système et démarrer la communication avec le matériel. Lorsque la fenêtre est fermée, vous pouvez arrêter le système en douceur.

43

importer javax.swing.* ; importer java.awt.event.WindowAdapter ; importer java.awt.event.WindowEvent ; public class SwingSystemControl { public static void main(String[] args) { JFrame frame = new JFrame("Swing System Control"); frame.setSize(400, 300); frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); frame.addWindowListener(new WindowAdapter() { @Override public void windowOpened(WindowEvent e) { System.out.println("Initializing swing system..."); // Le code pour initialiser le système swing va ici } @Override public void windowClosing(WindowEvent e) { System.out.println("Arrêt du système swing..."); // Le code pour arrêter le système swing va ici frame.dispose(); } }); frame.setVisible(true); } }

Conclusion

L'utilisation de WindowListener dans le système Swing est un moyen puissant de gérer les événements liés aux fenêtres. Que vous construisiez une simple application GUI ou un système complexe de contrôle des mécanismes de swing, WindowListener peut vous aider à gérer l'expérience utilisateur et à garantir le bon fonctionnement de votre système.

Si vous êtes intéressé par nos composants de système swing ou si vous avez des questions sur l'utilisation de WindowListener dans vos projets, n'hésitez pas à nous contacter. Nous sommes là pour vous aider à trouver les solutions adaptées à vos besoins et garantir que votre système de balançoire fonctionne au mieux.

Références

  • "Java efficace" par Joshua Bloch
  • "Java : la référence complète" par Herbert Schildt
Envoyez demande