以下のコードは完全ではありません.コード全体が必要な場合はお知らせください.私の問題は、プログラムを起動すると、矢印で移動できる赤い楕円と、その背後に999個の生成された長方形が表示されることです.楕円を移動すると、フレームが再描画され、生成された四角形の位置を変更せずに移動する楕円を実現したいのですが、この望ましくない効果の理由はわかっていますが、修正できません。ありがとうございます!
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;
}