利用线程休眠和Graphics 对象在窗体中画线段,颜色随机产生
2016-09-21 12:44
477 查看
代码如下:
package threadTest; import java.awt.*; import javax.swing.*; import java.util.Random; public class SleepThreadTest extends JFrame{ /** * */ private static final long serialVersionUID = 1L; private Thread t; //创建颜色数组 private static Color[] color = {Color.BLACK,Color.BLUE,Color.CYAN,Color.DARK_GRAY,Color.GREEN, Color.ORANGE,Color.PINK,Color.RED,Color.YELLOW,Color.WHITE}; private static final Random random = new Random(); //创建随机对象 //随机获取颜色对象 public static Color getColor(){ int i = random.nextInt(color.length); return color[i]; } //构造方法 public SleepThreadTest(){ t = new Thread(new Runnable(){ int x = 100; int y = 100; public void run(){ while(true){ try{ Thread.sleep(50); }catch(Exception e){ e.printStackTrace(); } Graphics graphics = getGraphics(); //不能放在外面 graphics.setColor(getColor()); //设置随机产生的颜色 graphics.drawLine(x, y, x+200, y); //画直线 y+=5; if(y>300){ y = 100; } } } }); t.start(); //启动线程 } public static void main(String[] args) { init(new SleepThreadTest(),500,400); } //初始化方法 public static void init(JFrame frame,int width,int heigh){ frame.setSize(width,heigh); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
相关文章推荐
- 利用servlet产生随机数,原理是获取Graphics对象进行绘图
- 利用HDC随机在工作区随机颜色产生文字
- 利用反射工厂来产生对象
- 把对象的属性绑定到datalist中,建一个实体类,利用泛型,产生实体对象数组,把实体对象数组赋给datalist.DataSource...................
- 利用舍取法在多边基底内产生若干个随机点
- 不同窗体间,不同Graphics对象绘图,有影响?
- c#产生随机颜色
- 如何利用窗体身份验证创建 GenericPrincipal 对象
- 利用事件对象同步线程
- ActionScriopt 产生随机颜色
- Flash/Flex学习笔记(21):利用colorTransform改变对象的颜色及透明度
- Flex 产生随机数、随机颜色
- 利用均匀分布产生随机的正态分布的数据输入源
- 孙鑫VC学习笔记:第十六讲 利用事件对象实现线程间的同步
- 如何利用窗体身份验证创建 GenericPrincipal 对象
- 产生随机颜色
- 利用委托和对象处理窗体间传值
- 线程之间传递数据对象(利用线程槽实现)
- 利用内核对象同步线程
- 如何利用窗体身份验证创建 GenericPrincipal 对象