wl9212 2013-12-20 12:59 采纳率: 100%
浏览 910

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: 第二次点击发送按钮

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥20 5037端口被adb自己占了
    • ¥15 Error in check.length("fill") : 'gpar'成分'fill'的长度不能为零
    • ¥15 python:excel数据写入多个对应word文档
    • ¥60 全一数分解素因子和素数循环节位数
    • ¥15 ffmpeg如何安装到虚拟环境
    • ¥188 寻找能做王者评分提取的
    • ¥15 matlab用simulink求解一个二阶微分方程,要求截图
    • ¥30 乘子法解约束最优化问题的matlab代码文件,最好有matlab代码文件
    • ¥15 写论文,需要数据支撑
    • ¥15 identifier of an instance of 类 was altered from xx to xx错误