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);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д