2 u012858391 u012858391 于 2013.12.20 20:59 提问

java,线程终止问题,线程设置静态后,每次点击后原来的线程不能消失

package com.radio.weather.view;
import javax.swing.*;

import com.radio.weather.model.*;

import java.util.*;
import java.awt.event.*;
import java.awt.*;
public class WeatherFrame extends JFrame implements ActionListener{

//定义所需要的组件
JPanel jp1,jp2;
JButton jb1,jb2;
JTextArea jta;
JTextField jtf;
JScrollPane jsp;
String sendInfo;
Date date;
static Thread t=null;
public static void main(String[] args) {
    // TODO 自动生成的方法存根

    new WeatherFrame();
}

public WeatherFrame()
{
    //初始化组件
    jp1=new JPanel();
    jp1.setLayout(new BorderLayout());
    jp2=new JPanel();
    jp2.setLayout(new FlowLayout());

    jb1=new JButton("停止");
    jb2=new JButton("发送");
    jb2.addActionListener(this);

    jta=new JTextArea();
    jtf=new JTextField(20);
    jsp=new JScrollPane(jta);

    //初始化jp2
    jp2.add(jb1);
    jp2.add(jtf);
    jp2.add(jb2);

    //初始化jp1
    jp1.add(jsp);
    jp1.add(jp2,"South");

    this.add(jp1);
    this.setVisible(true);
    this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    this.setSize(400,300);

}

@Override
public void actionPerformed(ActionEvent arg0) {
    // TODO 自动生成的方法存根
    if(arg0.getSource()==jb2&&(!(jtf.getText().length()==0)))
    {

        Date date=new Date();
        String time=String.format("%tT", date);
        String month=String.format("%tF", date);
        this.sendInfo=month+" "+time+": "+jtf.getText()+"\r\n";
        jta.append(sendInfo);
        jtf.setText("");
        //定义发送信息的线程           
        this.t=new SendMessage(sendInfo);
        this.t.start();

    }
}

}

为什么我的线程t设为static后,每次点击jb2即发送按钮后原线程覆盖不了,还会继续继续运行,同时会新建一个线程。如何把原来的线程给停止掉。

这是控制台的信息:
2013-12-20 20:53:13: 第一次点击发送按钮

2013-12-20 20:53:13: 第一次点击发送按钮

2013-12-20 20:53:13: 第一次点击发送按钮

2013-12-20 20:53:20: 第二次点击发送按钮

2013-12-20 20:53:13: 第一次点击发送按钮

2013-12-20 20:53:20: 第二次点击发送按钮

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!