作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试绘制一些图形,如下所示(我没有包含涉及 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
; repaint
,这可能会设置无限的重绘循环,从而消耗所有 CPU 周期; Timer
来生成计划的更新和动画关于java - 如何在java中重新绘制图形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32937933/
我是一名优秀的程序员,十分优秀!