gpt4 book ai didi

java - 如何在java中重新绘制图形?

转载 作者:行者123 更新时间:2023-12-01 11:06:03 26 4
gpt4 key购买 nike

我尝试绘制一些图形,如下所示(我没有包含涉及 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 命令)..谢谢

最佳答案

  1. 在进行任何自定义绘制之前(而不是在循环内)调用 super.paintComponent
  2. 不要从绘制方法中调用repaint,这可能会设置无限的重绘循环,从而消耗所有 CPU 周期;
  3. 使用 Swing Timer 来生成计划的更新和动画

关于java - 如何在java中重新绘制图形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32937933/

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