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

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

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

Здравствуйте. Столкнулся с такой проблемой, при помощи Swing необходимо реализовать дополнительное действие при закрытии окна. В моем случае, я пытался поменять цвет окна и через две секунды закрыть окно и закрыть приложение. Класс с адаптером является внешним, отсюда проблема , я так понимаю, передачи ссылки на объект в конструктор.
package swingsAdapters;
 
import javax.swing.JFrame;
 
public class MainApp {
 
    public static void main(String[] args) {
        JFrame  frame = new JFrame();
        frame.setSize(600, 400);
        
        frame.addWindowListener(new MyWindowEventProcessor(frame));
        
        frame.setVisible(true);
 
    }

}
package swingsAdapters;
 
import java.awt.Color;
import java.awt.event.WindowEvent;
 
import javax.swing.JFrame;
 
public class MyWindowEventProcessor extends java.awt.event.WindowAdapter{
    JFrame a1 = new JFrame();
    public MyWindowEventProcessor(JFrame b){
        this.a1 = b;
        
    }
    @Override
    public void windowClosed(WindowEvent e) {
        a1.setBackground(Color.RED);
        
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e1) {
            
            e1.printStackTrace();
        }
        super.windowClosed(e);
    }
}
Заранее спасибо.

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

textual
Листинг программы
public class MyWindowEventProcessor extends java.awt.event.WindowAdapter {
    JFrame a1;
 
    public MyWindowEventProcessor(JFrame b) {
        a1 = b;
    }
 
    @Override
    public void windowClosing(WindowEvent e) {
        // цвет фона врятли поменяет но задержка отрабатывает
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e1) {
            e1.printStackTrace();
        }
        System.exit(0);
    }
}

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


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

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

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