Мне нужно, чтобы определенное изображение постоянно перерисовывалось в разных местах во время работы программы. Поэтому я настроил цикл while, который должен перемещать изображение по экрану, но он просто перерисовывает изображение поверх самого себя снова и снова. Что я делаю не так? Есть ли способ удалить старое изображение, прежде чем рисовать его в новом месте?
JFrame frame = buildFrame();
final BufferedImage image = ImageIO.read(new File("BeachRoad_double_size.png"));
JPanel pane = new JPanel() {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
int num = 0;
boolean fluff = true;
while (fluff == true) {
num = num + 1;
g.drawImage(image, num, 0, null);
if (num == 105) {
fluff = false;
}
}
}
};
frame.add(pane);
paintComponent
так, чтобы он просто рисовал в заданной точке и вызывалrepaint()
из другого места. - person Mike G   schedule 25.07.2013