Java程序开发一个窗体有两个按钮,一个是“开始”按钮,一个是“结束”按钮,当用户点击“开始”按钮时就在控制台打印一句话,反之则结束打印。

package javase18;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class javase18_2 extends JFrame {
    private static  final long serialVersionUID=1L;
    JPanel panel=new JPanel();  //定义一个窗体按钮容器
    JButton starbutton=new JButton();  //定义开始按钮
    JButton stopbutton2=new JButton();  //定义结束按钮
    MyThread thread=null;
    private boolean isContinue;
    public javase18_2(){
        try{
            jbInit();
        }catch (Exception e){
            e.printStackTrace();
        }

    }
    private void jbInit() throws Exception {
        //开始按钮功能制作
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  //窗体操作
        starbutton.setText("开始");
        starbutton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                starbutton_actionPerformed(e);
            }
        });
        //结束按钮功能制作
        stopbutton2.setText("结束");
        stopbutton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(ActionEvent e) {
                stopbutton2_actionPerformed(e);
            }
        });
        this.getContentPane().add(panel,BorderLayout.CENTER);
        panel.add(starbutton);
        starbutton.setBounds(36, 105, 82, 30);   //开始按钮位置
        panel.add(stopbutton2);
        stopbutton2.setBounds(160, 108, 100, 31);    //结束按钮位置
    }
    void starbutton_actionPerformed(ActionEvent e) {
        if (thread != null)
            isContinue=false;
        thread = new MyThread();
        thread.start();  //线程开始执行
    }

    void stopbutton2_actionPerformed(ActionEvent e) {
        if (thread != null)
            isContinue=false;
        thread = null;   //线程为空
    }
    public static void main(String[] args) {
        javase18_2 test = new javase18_2();
        test.setBounds(300,300,300, 80);
        test.setVisible(true);
    }

    private class MyThread extends Thread {
        public MyThread() {
            isContinue=true;
        }

        public void run() {
            System.out.println("\n\n");
            while (true && isContinue) {
                try {
                    Thread.sleep(200);   //线程休眠
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

                System.out.println("Java打印\t");
            }
        }
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

情绪员Tim

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值