Код ниже не является полным. Если вам нужен полный код, просто дайте мне знать. Моя проблема в том, что когда я lauch программа, я вижу красный эллипс, перемещаемый стрелками и 999 сгенерированных прямоугольников за ним. Когда я перехожу эллипс, ретуширование кадров и прямоугольники генерируются снова и на разных координатах. Я хотел бы достичь движущегося эллипса, не меняя положения генерируемых прямоугольников. Я знаю причину этого нежелательного эффекта, но не могу исправить его. Спасибо!Java repaint issue
public void paintComponent(Graphics g){
random=new Random();
super.paintComponent(g);
for(int i=0;i<=1000;i++){
rX=random.nextInt(400);
rY=random.nextInt(400);
g.drawRect(rX,rY,20,20);
}
g.setColor(Color.red);
g.fillRect(x,y,20,20);
}
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_RIGHT){
x=x+10;
repaint();
if(x>480)
x=-10;
}
'если (hasBeenPainted!)' Будет лучше, чем вернуться туда – nachokk
, я боюсь что-то не так с этим ... Когда я двигаю эллипсом, все пропадает из кадра. –