Сворачивание и восстановление VS Graphics - Java

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

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

Здравствуйте!!! Интересно, как сделать так, чтобы не происходило исполнение метода paint при сворачивании и восстановлении окна. Простейший пример:
Листинг программы
  1. import javax.swing.*;
  2. import java.awt.*;
  3. public class JHF_TESTS_Graphics_Gradient extends JPanel{
  4. public Color RandColor(){
  5. int red = (int)(Math.random()*255);
  6. int green = (int)(Math.random()*255);
  7. int blue = (int)(Math.random()*255);
  8. Color rColor = new Color(red,green,blue);
  9. return rColor;
  10. }
  11. public void paint(Graphics g){
  12. Graphics2D graphics2D = (Graphics2D)g;
  13. GradientPaint gradientPaint = new GradientPaint(33,33,RandColor(),33,64,RandColor());
  14. graphics2D.setPaint(gradientPaint);
  15. g.fillOval(33,33,64,64);
  16. }
  17. public static void main(String[] args) {
  18. JFrame JF = new JFrame();
  19. JF.getContentPane().add(new JHF_TESTS_Graphics_Gradient());
  20. JF.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  21. JF.setSize(333,333);
  22. JF.setVisible(true);
  23. }
  24. }

Решение задачи: «Сворачивание и восстановление VS Graphics»

textual
Листинг программы
  1. JF.addWindowStateListener(
  2.     new WindowStateListener() {
  3.         @Override
  4.         public void windowStateChanged(WindowEvent evt) {
  5.             if (JF.getState() == Frame.ICONIFIED) {
  6.                 // остановить таймер
  7.             } else {
  8.                 // запустить таймер
  9.             }
  10.         }
  11.     }
  12. );

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


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

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

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

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

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

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