JAVA 怎么让走动的线程停止
来源:百度知道 编辑:UC知道 时间:2024/09/20 17:57:20
package cm;
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
import javax.swing.*;
public class suiji extends JFrame implements ActionListener {
Container c = getContentPane();
GridLayout buju;
JPanel p1 = new JPanel();
JLabel jb2 = new JLabel("随即数");
JTextField jtf1 = new JTextField(2);
JPanel p2 = new JPanel();
JTextField jtf2 = new JTextField(5);
JButton a1 = new JButton("确定");
JButton a2 = new JButton("重置");
JPanel p3 = new JPanel();
JLabel jb1 = new JLabel();
JPanel p4 = new JPanel();
JLabel jb3 = new JLabel();
public suiji() {
MyTread mt = new MyTread();
mt.start();
buju = new GridLayout(4, 1);
c.setLayout(buju);
p1.add(jb2);
不要用stop(),这个方法早就过时,被废弃了.
你可以在MyTread这个类中写一个改变boolean a 值的函数:setA(boolean a ),在需要停止线程的地方,将a的值设置为false.
你这里可以不用线程来计时,直接获取猜数前后的时间做个减法就行了,如果非要用线程可以去查查api看线程能不能打断.
弄一个boolean,退出的时候设为false
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
import javax.swing.*;
public class Suiji extends JFrame implements ActionListener {
Container c = getContentPane();
GridLayout buju;
JPanel p1 = new JPanel();
JLabel jb2 = new JLabel("随即数");
JTextField jtf1 = new JTextField(2);
JPanel p2 = new JPanel();
JTextField jtf2 = new JTextField(5);
JButton a1 = new JButton("确定");
JButton a2 = new JButton("重置");
JPanel p3 = new JPanel();
JLabel jb1 = new JLabel();
JPanel p4 = new JPanel();
JLabel jb3 = new JLabel();
MyTread mt;
public Suiji() {
mt = new MyTread(this);
mt.start();