Java中线程休眠编程实例

作者:junjie 时间:2021-09-06 11:42:55 


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中线程休眠编程实例

JAVA中的休眠是sleep()方法,本例子中定义了getC()方法,该方法用于随机产生Color类型的对象,并且在产生线程的匿名内部类中使用getGraphics()方法获取Graphics对象,使用该对象调用setColor()方法为图形设置颜色;调用drawline()方法绘制一条线段,同时线段会根据纵坐标的变化自动调整。

标签:Java,线程,休眠
0
投稿

猜你喜欢

  • Java人民币小写转大写字符串的实现

    2021-10-24 00:52:34
  • C# 显示、隐藏窗口对应的任务栏

    2023-06-13 03:57:32
  • C# WinForm RichTextBox文本动态滚动显示文本方式

    2021-09-12 20:44:31
  • 浅谈Java中Map和Set之间的关系(及Map.Entry)

    2023-08-25 02:23:48
  • 基于集合的子集与集合的全排列的相关问题

    2023-09-23 07:03:46
  • Java中Druid连接池连接超时获取不到连接的解决

    2022-09-15 04:49:59
  • Android操作SQLite数据库(增、删、改、查、分页等)及ListView显示数据的方法详解

    2022-11-28 10:03:09
  • IntelliJ IDEA2019实现Web项目创建示例

    2023-06-05 00:29:33
  • SpringBoot实现动态多线程并发定时任务

    2023-12-12 01:58:26
  • Unity实现游戏卡牌滚动效果

    2023-09-20 10:54:23
  • Java如何利用递归计算出阶乘

    2023-02-08 12:43:03
  • Spring Boot和Thymeleaf整合结合JPA实现分页效果(实例代码)

    2023-11-25 07:05:15
  • 对Java中传值调用的理解分析

    2023-05-03 15:22:14
  • struts2框架的登录制作图文教程

    2022-11-24 03:15:15
  • Java超详细讲解设计模式之一的工厂模式

    2023-03-26 21:08:04
  • Android使用Rotate3dAnimation实现3D旋转动画效果的实例代码

    2023-07-30 12:21:29
  • C#中FileStream的对比及使用方法

    2023-10-17 21:09:41
  • 解答为什么 Java 线程没有Running状态

    2021-08-25 13:10:33
  • java后台利用Apache poi 生成excel文档提供前台下载示例

    2023-05-15 08:51:45
  • Java实现读取resources目录下的文件路径的九种方式

    2023-11-23 11:47:02
  • asp之家 软件编程 m.aspxhome.com