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

📄 tnewtimer.java

📁 进入cmd 执行java WindowGrid进入游戏界面
💻 JAVA
字号:
import java.awt.*;
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;

/**************************************************************************
 *自定义时钟控件
 *************************************************************************/
public class TNewTimer extends JComponent 
					   implements Runnable
{
	private int interval;
	private Thread thread = null;
	
	//构造函数=============================================================
	public TNewTimer(int interval)
	{
		listenerList = new EventListenerList();
		this.interval = interval;
		thread = new Thread(this);
		///thread.stop();
		
	}	
	
	//线程调用函数=========================================================
	public void run()
	{		
		//线程启动时,不断的向时钟发送事件,
		//以使时钟不停的执行
		while(true)
		{
			try{
				thread.sleep(interval);
			}							
			catch(InterruptedException e){
				System.out.println("时钟意外终止");
				thread.stop();
			}	
			
			TNewTimerEvent event = new TNewTimerEvent(this);
			EventQueue queue = Toolkit.getDefaultToolkit()
				.getSystemEventQueue();
			queue.postEvent(event);
		}	
	}
	
	//处理事件=============================================================
	public void processEvent(AWTEvent event)
	{
		if(event instanceof TNewTimerEvent)
		{
			TNewTimerListener[] listeners = (TNewTimerListener[])
				this.listenerList.getListeners(TNewTimerListener.class);
			for(int i=0; i<listeners.length; i++)
				listeners[i].action((TNewTimerEvent)event);						
		}			
	}
	
	//启动时钟=============================================================
	public void start()
	{
		//if(thread != null)
		//	thread.start();	
		if(thread != null)
			thread.stop();
		thread = new Thread(this);
		thread.start();
	}
	
	//停止时钟=============================================================
	public void stop()
	{
		if(thread != null)
			thread.stop();
	}
	
	//添加TNewTimerListener监听器==================================
	public void addNewTimerListener(TNewTimerListener listener)
	{
		this.listenerList.add(TNewTimerListener.class, listener);
	}
	
	//删除TNewTimerListener监听器===================================
	public void removeNewTimerListener(TNewTimerListener listener)
	{
		this.listenerList.remove(TNewTimerListener.class, listener);
	}
	
	public void setInterval(int interval)
	{		
		this.interval = interval;
	}
	
	public int getInterval()
	{
		return interval;
	}
}

/**************************************************************************
 *时钟控件的事件类
 *************************************************************************/
class TNewTimerEvent extends AWTEvent
{
	private final static int id = AWTEvent.RESERVED_ID_MAX + 1;
	public TNewTimerEvent(TNewTimer source)
	{
		super(source, id);
	}
}

/**************************************************************************
 *时钟控件监听器接口
 *************************************************************************/
interface TNewTimerListener extends EventListener
{
	public void action(TNewTimerEvent event);
}

⌨️ 快捷键说明

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