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

📄 xcanvas.java

📁 J2ME手机版游戏——配对赛源代码
💻 JAVA
字号:
/**
*扩展Canvas类为XCanvas
*@CopyRight:Move2008
*@Author:bedlang
*@Version 1.0 2003/7/16
*/
//Download by http://www.codefans.net
package move.ui;

import javax.microedition.lcdui.*;
import com.nokia.mid.ui.FullCanvas;

public class XCanvas extends FullCanvas implements Runnable
{
	public int left,top;		//绘图顶点
	public int width,height;	//绘图长宽
	private int interval;	
	private boolean killthread = true;
	private boolean stopthread = true;
	public final int SOFTKEY1 = -6;
	public final int SOFTKEY2 = -7;
	public final int CLR = -8;
	public final int MOTO_SOFTKEY1 = -20;
	public final int MOTO_SOFTKEY2 = -21;	
	public String STR_MENU = "菜单";
	public String STR_BACK = "返回";
	public String STR_OK = "确定";		
	public String STR_CANCEL = "取消";			
	public String STR_EXIT = "退出";
	public String STR_NEWGAME = "新游戏";
	public String STR_HELP = "帮助";			
	public String STR_SCOREHIGH = "排行榜";
	public String STR_HELP1 = "操作说明:";
	public String STR_HELP2 = "游戏说明:";	
	public String STR_COPYRIGHT = "(c)2003 Move2008";
	private Thread thread;
	
	public XCanvas()
	{
		left = 0;
		top = 0;
		width = getWidth();
		height = getHeight();
		interval = 1000;
	}
		
	/**
	*特殊构造函数,Move2008规范里规定XCanvas一定要用此方法构造
	*@param Left、Top:控件绘图顶点
	*@param Width、Height:控件绘图长宽	
	*/	
	public XCanvas(int Left, int Top, int Width, int Height)
	{
		setRect(Left,Top,Width,Height);
	}	

	/**
	*设置顶点坐标
	*/	
	public void setPosition(int Left, int Top)
	{
		left = Left;
		top = Top;
	}
		
	/**
	*设置绘图区域
	*/
	public void setRect(int Left, int Top, int Width, int Height)
	{
		left = Left;
		top = Top;
		width = Width;
		height = Height;
	}
	
	//开发者在其它基于XCanvas的子类中重载此方法
	public void paint(Graphics g)
	{
	}
	
	//开发者在其它基于XCanvas的子类中重载此方法
	public void update()
	{
	}

	public void run(){
		if(interval==0)
		{
			update();
		}
		else
		{
			while(!killthread){
			while (!stopthread) {
	            try {
	            	thread.sleep(interval);
	            	if(killthread) return;
	              	update();
	            } 
	            catch (InterruptedException e) {
	            	System.out.println("XCanvas Thread Error:"+e.getMessage());
	            }
	        }
	        }
	    }
	    kill();
	}
	
	/**
	*XCanvas的线程启动
	*@param target
	*@param Interval:线程跳动的间隙时间	
	*/		
	public void start(int Interval)
	{
		interval = Interval;
		killthread = false;
		stopthread = false;
		thread = new Thread(this);
		thread.start();			
	}
	
	public void start()
	{
		start(0);
	}
	
	/**
	*设置线程跳动的间隙时间
	*/		
	public void setInterval(int Interval)
	{
		interval = Interval;
	}

	/**
	*线程暂停
	*/	
	public void stop()
	{
		stopthread = true;
	}
	
	/**
	*销毁线程
	*/	
	public void kill()
	{	
		stopthread = true;
		killthread = true;
	}

	/**
	*线程恢复
	*/	
	public void resume()
	{
		stopthread = false;
	}

	/**
	*线程是否销毁
	*/		
	public boolean isKill()
	{
		return killthread;
	}

	/**
	*线程是否暂停
	*/			
	public boolean isStop()
	{
		return stopthread;
	}
}

⌨️ 快捷键说明

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