[英]How to repaint figures in java?
我尝试绘制一些图形,如下所示(我未包括涉及main方法的其他类)...它不会重新绘制的问题我只得到了三条粗线作为输出,但它应该绘制一个椭圆形和两个矩形,以便当while循环工作时它们在框架中移动...
package shapes;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
public class GamePanel extends JPanel {
int n1=0;
int n2=0;
int n3=0;
@Override
public void paintComponent(Graphics g) {
do {
// super.paintComponent(g);
g.drawRect(n1++, 33, 54, 84);
g.setColor(Color.BLUE);
g.fillRect(100, n2++, 56, 97);
// g.setColor(Color.BLUE);
g.drawOval(44, n3++, 44, 66);
} while (n1<=500 && n2<=500 && n3<=500);
n1++;
n2++;
n3++;
repaint();
}
}
如何更正代码以使其重新绘制每个循环的图形,从而使其不显示三条粗线? (我希望包含do命令)..谢谢
super.paintComponent
任何自定义绘画之前(而不是在循环内)调用super.paintComponent
; repaint
,这可能会设置无限的repaint
循环,这可能会消耗您的所有CPU周期。 Timer
生成计划的更新和动画
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.