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);
}
}