Jak wykorzystać WindowListener w systemie Swing?

Nov 19, 2025|

Hej tam! Jako dostawca systemu swing z radością dzielę się z Wami tym, jak wykorzystać WindowListener w systemie Swing. Swing to niesamowity zestaw narzędzi Java GUI (graficzny interfejs użytkownika), a WindowListener odgrywa kluczową rolę w obsłudze zdarzeń związanych z oknami.

Na początek przyjrzyjmy się, czym jest WindowListener. W świecie Java Swing WindowListener to interfejs umożliwiający nasłuchiwanie zdarzeń zachodzących w oknie. Zdarzenia te obejmują otwarcie, zamknięcie, ikonifikację, deikonifikację okna, aktywację lub dezaktywację.

Implementacja WindowListener

Aby użyć WindowListener, masz kilka sposobów. Jednym z powszechnych sposobów jest utworzenie klasy implementującej interfejs WindowListener. Oto prosty przykład:

importuj javax.swing.*; importuj java.awt.event.WindowAdapter; importuj java.awt.event.WindowEvent; public class SwingWindowExample { public static void main(String[] args) { Ramka JFrame = new JFrame("Przykład okna obrotowego"); ramka.setSize(400, 300); ramka.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ramka.addWindowListener(new WindowAdapter() { @Override public void windowOpened(WindowEvent e) { System.out.println("Okno zostało otwarte!"); } @Override public void windowClosing(WindowEvent e) { System.out.println("Okno się zamyka!"); } @Override public void windowClosed(WindowEvent e) { System.out.println("Okno jest zamknięte!"); } @Override public void windowIconified(WindowEvent e) { System.out.println("Okno zostało zikonizowane!"); } @Override public void windowDeiconified(WindowEvent e) { System.out.println("Okno zostało pozbawione ikony!"); System.out.println("Okno zostało aktywowane!"); } @Override public void windowDeactivated(WindowEvent e) { System.out.println("Okno zostało wyłączone!" } }); ramka.setVisible(true); } }

W tym kodzie tworzymy prostą ramkę JFrame. Zamiast implementować pełny interfejs WindowListener, używamy klasy WindowAdapter. WindowAdapter to klasa abstrakcyjna, która udostępnia puste implementacje wszystkich metod interfejsu WindowListener. W ten sposób musimy jedynie zastąpić metody, które nas interesują.

Dlaczego warto używać WindowListener?

Być może zastanawiasz się: „Dlaczego muszę używać WindowListener?” Cóż, istnieje mnóstwo praktycznych zastosowań. Na przykład, gdy okno ma się wkrótce zamknąć, możesz chcieć zapisać dane użytkownika lub wykonać pewne operacje czyszczące. Lub, gdy okno jest aktywowane, możesz zaktualizować interfejs użytkownika, aby wyświetlał najnowsze informacje.

Załóżmy, że tworzysz aplikację do wprowadzania danych. Kiedy użytkownik zamknie okno, możesz użyć opcjioknoZamykaniemetoda monitująca użytkownika o zapisanie niezapisanych zmian.

importuj javax.swing.*; importuj java.awt.event.WindowAdapter; importuj java.awt.event.WindowEvent; klasa publiczna DataEntryApp { public static void main(String[] args) { Ramka JFrame = nowa JFrame("Aplikacja do wprowadzania danych"); ramka.setSize(400, 300); ramka.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); ramka.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { int choice = JOptionPane.showConfirmDialog(frame, "Czy chcesz zapisać zmiany?", "Zapisz zmiany", JOptionPane.YES_NO_OPTION); if (choice == JOptionPane.YES_OPTION) { // Tutaj znajduje się kod do zapisania danych System.out.println("Dane zapisane!" } ramka.dispose(); ramka.setVisible(true); } }

Nasza oferta systemów huśtawek

Jako dostawca posiadamy szeroką gamę elementów systemów huśtawkowych. Sprawdź naszeZespół układu obrotu do koparki. Zespół ten został zaprojektowany tak, aby zapewnić płynną i wydajną pracę koparek. Jest zbudowany z wysokiej jakości materiałów, aby zapewnić trwałość i długoterminową wydajność.

Posiadamy równieżWał obrotowy do koparki. Wał obrotowy jest kluczowym elementem mechanizmu obrotowego, a nasz został zaprojektowany tak, aby wytrzymywał duże obciążenia i warunki o dużym naprężeniu.

Kolejną ważną częścią jestŁożyska obrotowe. Łożyska te umożliwiają płynny obrót w układzie obrotu, zmniejszając tarcie i zużycie.

Łączenie WindowListener z naszym systemem Swing

Teraz możesz pomyśleć: „W jaki sposób WindowListener łączy się z naszym systemem swing?” Cóż, w systemie wahliwym sterowanym programowo można użyć modułu WindowListener do zarządzania interfejsem użytkownika sterującym mechanizmem wahliwym. Na przykład, gdy otwarte zostanie okno sterujące systemem swing, można zainicjować system i rozpocząć komunikację ze sprzętem. Gdy okno jest zamknięte, można bezpiecznie zamknąć system.

43

importuj javax.swing.*; importuj java.awt.event.WindowAdapter; importuj java.awt.event.WindowEvent; klasa publiczna SwingSystemControl { public static void main(String[] args) { Ramka JFrame = nowa JFrame("Kontrola systemu Swing"); ramka.setSize(400, 300); ramka.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); Frame.addWindowListener(new WindowAdapter() { @Override public void windowOpened(WindowEvent e) { System.out.println("Inicjowanie systemu swingowego..."); // Tutaj znajduje się kod do inicjalizacji systemu swingowego } @Override public void windowClosing(WindowEvent e) { System.out.println("Zamykanie systemu swingowego..."); // Tutaj znajduje się kod wyłączający system swingowy ramka.utylizacja(); } }); ramka.setVisible(true); } }

Wniosek

Używanie WindowListener w systemie Swing to skuteczny sposób obsługi zdarzeń związanych z oknami. Niezależnie od tego, czy budujesz prostą aplikację GUI, czy złożony system do kontrolowania mechanizmów swingu, WindowListener może pomóc Ci zarządzać doświadczeniami użytkownika i zapewnić prawidłowe działanie systemu.

Jeśli interesują Cię komponenty naszych systemów swingowych lub masz pytania dotyczące wykorzystania WindowListener w swoich projektach, nie wahaj się z nami skontaktować. Jesteśmy tutaj, aby pomóc Ci znaleźć odpowiednie rozwiązania dla Twoich potrzeb i zapewnić, że Twój system obrotu będzie działał najlepiej.

Referencje

  • „Efektywna Java” Joshuy Blocha
  • „Java: kompletne odniesienie” Herberta Schildta
Wyślij zapytanie