java线程小问题

来源:百度知道 编辑:UC知道 时间:2024/05/28 12:28:57
package bag;
import java.awt.*;
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
public class Test extends JFrame implements Runnable
{
JButton jbt;
JLabel jlb;
Test()
{
jbt=new JButton("静止");
jlb=new JLabel();
Container cont=getContentPane();
cont.setLayout(new BorderLayout());
cont.add("North",jlb);
cont.add("Center",jbt);
setSize(200,200);
setVisible(true);
jbt.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
//这里不知道该怎么写??

}
});
}
public void run()
{

while(true)
{
try
{
Calendar time=Calendar.getInstance();
String s=time.getTime().toString();
jlb.setText(s);
Thread.sleep(100);
}catch(Exception e){}

}

自己用stop或destroy方法来终止线程都是不安全,而且也不会有人这么用了.

安全结束线程的方法就是让这个线程的代码运行完毕.如果一个线程的代码全部运行完了,JVM会自动调用destory方法.

结合你的例子,其实很简单.

1.定义一个boolean isRun = true;
2.while(true)改成while(isRun)
3. 在actionPerformed里写上isRun = false;