首页 > 编程 > Java > 正文

Java中线程休眠编程实例

2019-11-26 15:08:50
字体:
来源:转载
供稿:网友
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()方法绘制一条线段,同时线段会根据纵坐标的变化自动调整。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表