Sleep()
sleep()方法可以实线程休眠一段时间,单位是毫秒。
例如:利用线程休眠绘制直线
public class SleepMethedTest extends JFrame {
private Thread t;
private static Color[] color = { Color.BLACK, Color.BLUE, Color.CYAN, Color.GREEN, Color.ORANGE, Color.YELLOW,
Color.RED, Color.PINK, Color.LIGHT_GRAY };
private static final Random rand = new Random();
private static Color getC() {
return color[rand.nextInt(color.length)];
}
public SleepMethedTest() {
t = new Thread(new Runnable() {
int x = 30;
int y = 50;
@Override
public void run() {
while (true) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
Graphics graphics = getGraphics();// 获取组件绘图上下文对象
if (graphics != null) {
graphics.setColor(getC());// 设置绘图颜色
graphics.drawLine(x, y, 100, y++);// 绘制直线并递增垂直坐标
if (y >= 80) {
y = 50;
}
}
}
}
});
t.start();// 启动线程
}
public static void main(String[] args) {
init(new SleepMethedTest(), 100, 100);
}
public static void init(JFrame frame, int width, int height) {
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(width, height);
frame.setVisible(true);
}
}