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