Cis*_*tin 1 java graphics swing awt
我一直在阅读Java图形,所有指南似乎都指向Java中更复杂的图形实现; 阅读一下有关repaint()的内容,我想出了这部分代码,这似乎适用于我测试过的一点点 -
import javax.swing.*;
import java.awt.*;
public class Boids extends JFrame{
public Boids(){
setSize(400,400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] a){
Boids boids = new Boids();
while(true) {
boids.repaint();
}
}
public void paint(Graphics g){
// The code for Boids
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是; 这个代码在某种程度上是坏的吗?是不是会伤到我的路?如果没有,为什么不使用它,因为它看起来比我看到的其他版本的代码更简单和更短.
paint(...)方法中有程序逻辑,这是永远不应该做的事情,因为你没有完全控制何时或是否会调用它.我不记得是谁说过这个,也许是HL Menken,但它就像是"对于每个复杂的问题都有一个清晰,简单和错误的解决方案."