Java中线程休眠编程实例
程序员文章站
2024-03-31 17:49:10
import java.awt.*;
import java.util.*;
import javax.swing.*;
public class...
import java.awt.*; import java.util.*; import javax.swing.*; public class sleepmethodtest extends jframe { /** * */ private static final long serialversionuid = 1l; 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 sleepmethodtest() { t = new thread(new runnable() {// 创建匿名线程对象 int x = 30;// 定义初始坐标 int y = 50; public void run() {// 覆盖线程接口方法 while (true) {// 无限循环 try { thread.sleep(100);// 线程休眠0.1秒 } catch (interruptedexception e) { e.printstacktrace(); } // 获取组件绘图上下文对象 graphics graphics = getgraphics(); graphics.setcolor(getc());// 设置绘图颜色 // 绘制直线并递增垂直坐标 graphics.drawline(x, y, 100, y++); if (y >= 80) { y = 50; } } } }); t.start();// 启动线程 } public static void main(string[] args) { init(new sleepmethodtest(), 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); } }
java中的休眠是sleep()方法,本例子中定义了getc()方法,该方法用于随机产生color类型的对象,并且在产生线程的匿名内部类中使用getgraphics()方法获取graphics对象,使用该对象调用setcolor()方法为图形设置颜色;调用drawline()方法绘制一条线段,同时线段会根据纵坐标的变化自动调整。