实验十四:线程设计

实验十四:线程设计

代码为:

package TestCountDown;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.*;

public class CountDown extends JFrame {

JButton jButton;

JLabel jLabel;

int time=60;

public CountDown() {

FlowLayout fl=new FlowLayout(FlowLayout.CENTER);

this.setLayout(fl)

jButton=new JButton("重新开始");

jButton.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent arg0) {

dispose();

new CountDown();

}

);

jLabel=new JLabel();

new Thread(){

public void run() {

while(time>0) {

time--;

if(time<6) {

jLabel.setForeground(Color.RED);

}

jLabel.setText(time+"");

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

}.start();

this.add(jButton);

this.add(jLabel);

this.setTitle("倒计时");

this.setSize(300, 200);

this.setResizable(true);

this.setVisible(true);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

}

public static void main(String[] args) {

new CountDown();

}

}

 

 

实验心得:

  1. Java中,每个线程都有一个调用栈,即使不在程序中创建任何新的线程,线程也在后台运行着。
  2. Java中类的封装是面向对象的核心特性,是信息隐蔽思想的具体实现技术,感觉和C++中类的封装有很多相似的地方。

你可能感兴趣的:(实验十四:线程设计)