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

📄 clock5.java

📁 一个网络应用程序主要功能是能够和一人和多人聊天
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.util.*;

public class Clock5 extends Applet 
{
	private ClockThread clockThread[];
	private Button btStart=new Button("Start");
	private boolean blStarted=false;
	private boolean isApplet=true;
	private int intThreadCount;
	public void init()
	{
		if(isApplet)
		{
			intThreadCount=Integer.parseInt(getParameter("intThreadCount"));
		}
		clockThread=new ClockThread[intThreadCount];
	    for(int i=0; i<clockThread.length;i++)
			clockThread[i]=new ClockThread(this);
		
		btStart.addActionListener(new StartListener());
		add(btStart);
	}
	//Start按钮的事件监听器
	class StartListener implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
		    if(!blStarted)
		    {
		        blStarted=true;
		        for(int i=0;i<clockThread.length;i++)
		        clockThread[i].start();
		    }
		
		}
	}
	//The main function
	public static void main(String[] args)
	{
		Clock5 applet=new Clock5();
		Frame aFrame=new Frame("Clock5");
		applet.isApplet=false;
		if(args.length==0)
		{
			applet.intThreadCount=5;
		}
		else 
			applet.intThreadCount=Integer.parseInt(args[0]);
		//增加windows时间处理,用来推出程序
	    aFrame.addWindowListener(
			new WindowAdapter()
			{
			    public void windowClosing(WindowEvent e)
				{
					System.exit(0);
				}
			});
		aFrame.add(applet,BorderLayout.CENTER );
		aFrame.setSize(400,applet.intThreadCount*50);
		applet.init();
		applet.start();
		aFrame.setVisible(true);
	}
}
//用来处理电子表的线程
class ClockThread extends Thread
{
	private boolean blRunFlag=true;
	private Button 
	     btPause=new Button("Pause"),
	     btIncPriority=new Button("+"),
	     btDecPriority=new Button("-");
	private TextField
	     tfTime=new TextField(35),
	     tfPriority=new TextField(3);
 // private boolean runFlag=true;
	private long lngTime=new Date().getTime();
	
	//在初始化的时候就启动线程
	public ClockThread(Clock5 clock)
	{
		btPause.addActionListener(new PauseListener());
		btIncPriority.addActionListener(new IncPriorityListener());
	    btDecPriority.addActionListener(new DecPriorityListener());
		Panel panel=new Panel();
	    panel.add(tfTime);
		panel.add(tfPriority);
		panel.add(btPause);
		panel.add(btIncPriority);
		panel.add(btDecPriority);
		clock.add(panel);
	}
	
	//Pause按钮的事件监听器
	class PauseListener implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
			InvertFlag();
		}
	}
	//+按钮的事件监听器
	class IncPriorityListener implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
			int intPriority=getPriority()+1;
			if(intPriority>Thread.MAX_PRIORITY )
				intPriority=Thread.MAX_PRIORITY;
			
			setPriority(intPriority);
		}
	}
	//-按钮的事件监听器
	class DecPriorityListener implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
			int intPriority=getPriority()-1;
		    if(intPriority<Thread.MIN_PRIORITY )
				intPriority=Thread.MIN_PRIORITY;
			
			setPriority(intPriority);
		}
	}
	public void InvertFlag()
	{
		blRunFlag=!blRunFlag;
	}
	public void run()
	{
		while(true)
		{
			try
			{
				Thread.currentThread().sleep(10);
			}
			catch(InterruptedException e){}
			if(blRunFlag)
			{
				lngTime=lngTime+1000;
				Date dtTime=new Date(lngTime);
				tfTime.setText(dtTime.toString());
				tfPriority.setText(Integer.toString(getPriority()));
			}
			yield();
		}
	}
}
		

⌨️ 快捷键说明

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