📄 xcanvas.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 + -