【发布时间】:2014-03-05 06:31:36
【问题描述】:
我对此很陌生,所以请耐心等待。我制作了一个小程序,它从框架的左上角 (0,0) 开始产生一个扇形。该程序从小程序的顶部到底部绘制了 200 条随机颜色的线条。他们反转了这个过程,给你留下了一个空白的小程序框架。我想让这个迭代 5 次,但是我尝试使用 for 循环没有成功。
我在 for 循环中使用的代码是: for (int times = 0; times
我在 Main 类中有一个用于绘画的布尔值。 布尔绘画=真;
我已经将代码重复了 5 次,但我知道应该有更好的方法使用 for 循环。
我的代码重复了 5 次:
import java.awt.Color;
import java.awt.Graphics;
import java.util.Random;
import javax.swing.JApplet;
public class Main extends JApplet {
private static Random rand = new Random();
public void init() {
setBackground(Color.WHITE);
setSize(400, 300);
}
public void paint(Graphics g) {
for (int i = 0; i < 200; i++) {
Wait.holdOn(10);
g.setColor(new Color(rand.nextInt(0xFFFFFF)));
g.drawLine(0, 0, 200 - i, i);
}
for (int i = 0; i < 200; i++) {
Wait.holdOn(10);
g.setColor(getBackground());
g.drawLine(0, 0, i, 200 - i);
}
for (int i = 0; i < 200; i++) {
Wait.holdOn(10);
g.setColor(new Color(rand.nextInt(0xFFFFFF)));
g.drawLine(0, 0, 200 - i, i);
}
for (int i = 0; i < 200; i++) {
Wait.holdOn(10);
g.setColor(getBackground());
g.drawLine(0, 0, i, 200 - i);
}
for (int i = 0; i < 200; i++) {
Wait.holdOn(10);
g.setColor(new Color(rand.nextInt(0xFFFFFF)));
g.drawLine(0, 0, 200 - i, i);
}
for (int i = 0; i < 200; i++) {
Wait.holdOn(10);
g.setColor(getBackground());
g.drawLine(0, 0, i, 200 - i);
}
for (int i = 0; i < 200; i++) {
Wait.holdOn(10);
g.setColor(new Color(rand.nextInt(0xFFFFFF)));
g.drawLine(0, 0, 200 - i, i);
}
for (int i = 0; i < 200; i++) {
Wait.holdOn(10);
g.setColor(getBackground());
g.drawLine(0, 0, i, 200 - i);
}
for (int i = 0; i < 200; i++) {
Wait.holdOn(10);
g.setColor(new Color(rand.nextInt(0xFFFFFF)));
g.drawLine(0, 0, 200 - i, i);
}
for (int i = 0; i < 200; i++) {
Wait.holdOn(10);
g.setColor(getBackground());
g.drawLine(0, 0, i, 200 - i);
}
}
}
我也有等待课:
public class Wait{
public static void holdOn(long period){
try{
Thread.sleep(period);
}catch(Exception e){}
}
}
【问题讨论】:
-
永远不要在
paint方法...或事件调度线程中等待。这只会让你的程序看起来像结巴......看看Concurrency in Swing和How to Use Swing Timers......哦,然后打电话给super.paint!
标签: java swing for-loop applet draw