当点击“暂停”时程序暂停,当点击“开始执行”时,程序暂停后执行。如何实现?

解决方案 »

  1.   

    我的写法:
    package org.battwofame.hellojava.test.test1;import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;public class MyFrame extends JFrame { private MyThread mt = new MyThread();
    {
    Thread t = new Thread(mt);
    t.start();

    public void createFrame() {
    JPanel jp = new JPanel(new FlowLayout());
    this.add(jp);

    JButton jbStart = new JButton("开始");
    JButton jbEnd = new JButton("暂停");
    jp.add(jbStart);
    jp.add(jbEnd);

    this.setSize(300, 100);
    this.setVisible(true);
    this.setResizable(false);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    jbStart.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    mt.setBa(true);
    }
    });
    jbEnd.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    mt.setBa(false);
    }
    });
    }

    public static void main(String[] args) {
    MyFrame mf = new MyFrame();
    mf.createFrame();
    }
    }class MyThread implements Runnable { private boolean ba = false;

    public void run() {
    int i = 0;
    while(true) {
    if(ba) {
    System.out.println(i ++ );
    try {
    Thread.sleep(1000);
    } catch (InterruptedException e) {
    e.printStackTrace();
    }
    }
    }
    }

    public boolean isBa() {
    return ba;
    }
    public void setBa(boolean ba) {
    this.ba = ba;
    }

    }如果你是在页面上控制的话,原理是一样的~~~,自己动动脑再想看~~~