设为首页 加入收藏

TOP

Java 线程编码之霓虹灯的实现
2014-11-23 23:41:51 来源: 作者: 【 】 浏览:8
Tags:Java 线程 编码 霓虹灯 实现

Java线程的实现通常要继承Thread类或者是实现接口Runnable的run方法即可。


相关阅读:




实现代码如下:


import java.awt.Color;
import java.util.Random;


import javax.swing.JFrame;
import javax.swing.JLabel;


public class NeonLight extends JFrame{

private static final long serialVersionUID = 5246470000332954366L;


public JLabel[] label = {new JLabel("TAG-1"),
new JLabel("TAG-2"),
new JLabel("TAG-3"),
new JLabel("TAG-4"),
new JLabel("TAG-5"),
new JLabel("TAG-6"),
new JLabel("TAG-7")};


public Color[] color = {Color.BLACK,
Color.BLUE,
Color.YELLOW,
Color.GRAY,
Color.PINK,
Color.GREEN,
Color.ORANGE,
Color.RED};
public NeonLight() {
// TODO Auto-generated constructor stub
setSize(500, 800);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//setLayout(new FlowLayout());
setLayout(null);

getContentPane().add(label[0]);
label[0].setBounds(0,5,500,100);
//设置组件JLabel不透明,只有设置为不透明,设置背景色才有效
label[0].setOpaque(true);

getContentPane().add(label[1]);
label[1].setBounds(0,5+100,500,100);
label[1].setOpaque(true);

getContentPane().add(label[2]);
label[2].setBounds(0,5+200,500,100);
label[2].setOpaque(true);

getContentPane().add(label[3]);
label[3].setBounds(0,5+300,500,100);
label[3].setOpaque(true);

getContentPane().add(label[4]);
label[4].setBounds(0,5+400,500,100);
label[4].setOpaque(true);

getContentPane().add(label[5]);
label[5].setBounds(0,5+500,500,100);
label[5].setOpaque(true);

getContentPane().add(label[6]);
label[6].setBounds(0,5+600,500,100);
label[6].setOpaque(true);

setVisible(true);
}

//通过内部类实现霓虹灯任务类
class ColorVariance implements Runnable{

public void run() {
while (true) {
try {
// 设置灯闪烁的频率
Thread.sleep(200);
} catch (InterruptedException e) {
// TODO: handle exception
e.printStackTrace();
}
for (int i = 0; i < label.length; i++) {
// 随机设置背景颜色
label[i].setBackground(color[new Random().nextInt(7)]);
}
}
}
}

public static void main(String [] args){
NeonLight neonL = new NeonLight();
// 创建线程,注入霓虹灯任务
Thread ted = new Thread(neonL.new ColorVariance() );
// 开始闪烁
ted.start();
}


}


运行结果如下:


Java 线程编码之霓虹灯的实现


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Java 线程同步之原子变量 下一篇Java线程同步之重入锁

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: