【发布时间】:2017-05-05 23:38:35
【问题描述】:
我写了一个简单的java程序在屏幕上放置一些矩形(在彼此之间有一些延迟之后)
package guitest2;
import java.awt.Graphics;
import javax.swing.JPanel;
public class DrawPanel extends JPanel {
public void paintComponent( Graphics g) {
super.paintComponent(g);
for (int i = 0; i < 10; i++ ) {
g.drawRect(10+5*i, 10+5*i, 20, 20);
try{
Thread.sleep( 2000 );
}
catch (InterruptedException ex) { }
}
}
}
我用过那个类
package guitest2;
import javax.swing.JFrame;
public class Guitest2 {
public static void main(String[] args) {
DrawPanel panel = new DrawPanel();
JFrame app = new JFrame();
app.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);
app.add(panel);
app.setSize(450, 250);
app.setVisible(true);
}
}
运行上述代码的问题是,正方形没有显示出来。 10*2S = 20 秒后,最终面板显示为包含所有方块。我想要的是:
1- 用g.drawRect画一个正方形。
2- 等待 2 秒
3- 删除之前的正方形并绘制新的。
【问题讨论】: