Почему моргает картинка?
Пробую написать программу для выведения на экран картинки которая постоянно меняет свой масштаб.
Для этого написал такой код. Картинка появляется и меняет свой размер как задумано, но при этом наблюдается какое-то моргание, как-будто она иногда пропадает, а потом появляется снова. Видимо, я что-то пишу не так, но в чём ошибка не пойму. Вот картинка с которой я экспериментирую
Подскажите, в чём проблема. Спасибо
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Test extends JPanel implements ActionListener {
public ImageIcon ii = new ImageIcon("Ball_1.png");
public Image myBigImage;
public boolean grow = true;
public int scale = 64;
Timer myTimer;
Test() {
JFrame pn = new JFrame();
pn.add(this);
pn.setSize(500, 500);
pn.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
pn.setVisible(true);
myTimer = new Timer(100, this);
myTimer.start();
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(myBigImage, 50, 50, this);
}
@Override
public void actionPerformed(ActionEvent e) {
if (scale>80) grow = false;
if (scale<48) grow = true;
if (grow) scale++;
else scale--;
myBigImage = ii.getImage().getScaledInstance(scale, scale, 4);
repaint();
}
public static void main(String[] args) {
Test myFrame = new Test();
}
}