threadsexample6.java

来自「java的线程类演示」· Java 代码 · 共 94 行

JAVA
94
字号
import java.awt.*;
import java.awt.event.*;

public class ThreadsExample6 extends WindowAdapter
{
	Frame f;
	Button btnStart, btnStop, btnSusp, btnResume;
	Label lb;
	ControlledThread2 ct;
	
	public static void main(String argv[])
	{
		new ThreadsExample6();
	}
	
	public ThreadsExample6()
	{
		f = new Frame("Controlled Thread Example");
		f.addWindowListener(this);
		
		lb = new Label("0", Label.CENTER);
		lb.setFont(new Font("Arial", Font.PLAIN, 36));
		
		btnStart = new Button("开始");
		btnStart.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				ct = new ControlledThread2(lb);
				ct.start();
				btnStart.setEnabled(false);
				btnStop.setEnabled(true);
				btnSusp.setEnabled(true);
			}
		});
		
		btnStop = new Button("停止");
		btnStop.setEnabled(false);
		btnStop.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				ct.setState(ControlledThread2.STOP);
				btnStart.setEnabled(true);
				btnStop.setEnabled(false);
				btnSusp.setEnabled(false);
				btnResume.setEnabled(false);
			}
		});

		btnSusp = new Button("暂停");
		btnSusp.setEnabled(false);
		btnSusp.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				ct.setState(ControlledThread2.SUSP);
				btnStop.setEnabled(false);
				btnSusp.setEnabled(false);
				btnResume.setEnabled(true);
			}
		});

		btnResume = new Button("继续");
		btnResume.setEnabled(false);
		btnResume.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				ct.setState(ControlledThread2.RUN);
				btnStop.setEnabled(true);
				btnSusp.setEnabled(true);
				btnResume.setEnabled(false);
			}
		});
		
		Panel p = new Panel();
		p.add(btnStart);
		p.add(btnStop);
		p.add(btnSusp);
		p.add(btnResume);
		
		f.add(lb, BorderLayout.CENTER);
		f.add(p, BorderLayout.SOUTH);
		f.pack();
		f.setVisible(true);
	}
	
	public void windowClosing(WindowEvent e)
	{
		System.exit(0);
	}
}

⌨️ 快捷键说明

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