⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 welcome.java.bak

📁 Java基础教程课程中的例题源码下载。总共有11章
💻 BAK
字号:
import java.awt.*;
import java.awt.event.*;
public class Welcome extends WindowAdapter implements ActionListener
{
    Frame f;
    static Welcome.Thread3 wt1,wt2;
    public static void main(String arg[])
    {
        Welcome w= new Welcome();
        w.display();
        wt1=w.new Thread3("Welcome!");
        wt2=w.new Thread3("How are you?");
        wt2.start();
        wt2.setButton();                 //设置按钮状态
    }
    public void display()
    {
        f = new Frame("Welcome");
        f.setSize(400,240);
        f.setLocation(200,140);
        f.setBackground(Color.lightGray);
        f.setLayout(new GridLayout(4,1));
        f.addWindowListener(this);
        f.setVisible(true);
    }
    public class Thread3 extends Thread
    {
        Panel p1;
        Label lb1;
        TextField tf1,tf2;
        Button b1,b2,b3;
        int sleeptime = (int)(Math.random()*100);
        boolean isWait = false;
        public Thread3(String str)
        {
            super(str);
            for(int i=0;i<100;i++)
                str = str + " ";
            tf1 = new TextField(str);
            f.add(tf1);
            p1 = new Panel();
            p1.setLayout(new FlowLayout(FlowLayout.LEFT));
            lb1 = new Label("sleep");
            tf2 = new TextField(""+sleeptime);
            p1.add(lb1);
            p1.add(tf2);
            b1 = new Button("启动");
            b2 = new Button("中断");
            b3 = new Button("继续");
            p1.add(b1);
            p1.add(b2);
            p1.add(b3);
            b1.addActionListener(new Welcome());
            b2.addActionListener(new Welcome());
            b3.addActionListener(new Welcome());
            f.add(p1);
            f.setVisible(true);
        }
        public void run()
        {
            String str;
            while (true)  //this.isAlive())// && !this.isInterrupted() && !isWait)
            {                                    //线程活动且没中断时
                try
                {
                    boolean bl=this.isInterrupted();
                    if (bl)
        System.out.println(bl);
                    str = tf1.getText();
                    str = str.substring(1)+ str.substring(0,1);
                    tf1.setText(str);
                    this.sleep(sleeptime);
                }
                catch(InterruptedException e)
                {               //中断(this.isInterrupted()=true)时抛出
                    //if (isWait)
                                System.out.println(e.getMessage());
                                break;                       //退出循环
                }
            }
        }
        public  void setButton()                 //设置按钮状态
        {
            if (this.isAlive())         b1.setEnabled(false);
            if (this.isInterrupted())   b2.setEnabled(false);
        }
    }//线程
    public void windowClosing(WindowEvent e)
    {
        System.exit(0);
    }
    public void actionPerformed(ActionEvent e)
    {                                            //单击按钮时触发
        if ((e.getSource()==wt1.b1) || (e.getSource()==wt1.b2))
            actionPerformed(e,wt1);
        if ((e.getSource()==wt2.b1) || (e.getSource()==wt2.b2))
            actionPerformed(e,wt2);
    }
    public void actionPerformed(ActionEvent e,Thread3 wt1)
    {                                            //重载
        if(e.getSource()==wt1.b1)                //启动
        {
            wt1.sleeptime=Integer.parseInt(wt1.tf2.getText());
            wt1.start();
        }
        if(e.getSource()==wt1.b2)                //中断
            wt1.interrupt();
        if(e.getSource()==wt1.b3)                //中断
            wt1.isWait = true;
//        wt1.setButton();                         //设置按钮状态
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -