Swing WindowAdapter - действие при закрытии - Java

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Столкнулся с такой проблемой, при помощи Swing необходимо реализовать дополнительное действие при закрытии окна. В моем случае, я пытался поменять цвет окна и через две секунды закрыть окно и закрыть приложение. Класс с адаптером является внешним, отсюда проблема , я так понимаю, передачи ссылки на объект в конструктор.
Листинг программы
  1. package swingsAdapters;
  2. import javax.swing.JFrame;
  3. public class MainApp {
  4. public static void main(String[] args) {
  5. JFrame frame = new JFrame();
  6. frame.setSize(600, 400);
  7. frame.addWindowListener(new MyWindowEventProcessor(frame));
  8. frame.setVisible(true);
  9. }
  10.  
  11. }
Листинг программы
  1. package swingsAdapters;
  2. import java.awt.Color;
  3. import java.awt.event.WindowEvent;
  4. import javax.swing.JFrame;
  5. public class MyWindowEventProcessor extends java.awt.event.WindowAdapter{
  6. JFrame a1 = new JFrame();
  7. public MyWindowEventProcessor(JFrame b){
  8. this.a1 = b;
  9. }
  10. @Override
  11. public void windowClosed(WindowEvent e) {
  12. a1.setBackground(Color.RED);
  13. try {
  14. Thread.sleep(2000);
  15. } catch (InterruptedException e1) {
  16. e1.printStackTrace();
  17. }
  18. super.windowClosed(e);
  19. }
  20. }
Заранее спасибо.

Решение задачи: «Swing WindowAdapter - действие при закрытии»

textual
Листинг программы
  1. public class MyWindowEventProcessor extends java.awt.event.WindowAdapter {
  2.     JFrame a1;
  3.  
  4.     public MyWindowEventProcessor(JFrame b) {
  5.         a1 = b;
  6.     }
  7.  
  8.     @Override
  9.     public void windowClosing(WindowEvent e) {
  10.         // цвет фона врятли поменяет но задержка отрабатывает
  11.         try {
  12.             Thread.sleep(2000);
  13.         } catch (InterruptedException e1) {
  14.             e1.printStackTrace();
  15.         }
  16.         System.exit(0);
  17.     }
  18. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут