gpt4 book ai didi

java - 在Java中画椭圆

转载 作者:行者123 更新时间:2023-12-02 07:49:35 25 4
gpt4 key购买 nike

我有一个java程序,它在屏幕上显示一个椭圆并通过使用箭头键改变它的方向。我经常使用 while 循环在椭圆上调用 repaint()。

椭圆移动,但问题是它在其路径上留下了椭圆的痕迹。我该如何制作才能删除旧的省略号,然后重新绘制新的省略号?

代码:

public void run(){
while (animator != null)
{
setBackground(Color.GREEN);
repaint();
// The direction works and the rest works fine.
player1.move(player1, player1.direction);
try
{
Thread.sleep(100);
}
catch (InterruptedException e)
{
break;
}
}
}

// The paintComponent of my player1 is fine.
public void paint(Graphics g){
Graphics2D g2 = (Graphics2D)g;
player1.paintComponent(g2, player1);
}

最佳答案

问题可能是您的 paintComponent(Graphics) 重写方法没有调用 super.paintComponent(g),它会清除 Canvas 等:

// Bad:
@Override
public void paintComponent(Graphics g) {
// paint the ellipse, etc.
}

// Good:
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
// paint the ellipse, etc.
}

关于java - 在Java中画椭圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10391371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com