//package com.j2medev.numbergame;
import javax.microedition.lcdui.*;
//import com.nokia.mid.ui.*;
//A root class for Canvas-based components.
//Because Area extends Canvas, you can actually
//use a component directly as a Canvas, although
//it's recommended you place it on Manager.
public abstract class Area extends Canvas
{
protected int x;
protected int y;
protected int w;
protected int h;
protected Font font;
protected Manager parent;
protected int backcolor = -1;
protected int forecolor = -1;
protected Area(int x, int y, int w, int h)
{
this(x, y, w, h, null);
}
protected Area(int x, int y, int w, int h, Font f)
{
this.x = x;
this.y = y;
this.w = w;
this.h = h;
this.font = f;
}
// Erase the background using backcolor
protected void eraseBackground(Graphics g)
{
g.setColor(getBackColor());
if (parent == null)
{
g.fillRect(0, 0, getCanvasWidth(), getCanvasHeight());
} else
{
g.fillRect(0, 0, w, h);
}
}
public final int getBackColor()
{
if (backcolor == -1)
{
if (parent != null)
{
return parent.getBackColor();
}
backcolor = 0xFFFFFF;
}
return backcolor;
}
protected final int getCanvasHeight()
{
return super.getHeight();
}
protected final int getCanvasWidth()
{
return super.getWidth();
}
public final int getHeight()
{
return h;
}
public final int getWidth()
{
return w;
}
public final int getX()
{
return x;
}
public final int getY()
{
return y;
}
public final Font getFont()
{
if (font == null)
{
if (parent != null)
{
return parent.getFont();
}
font = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN,
Font.SIZE_SMALL);
;
}
return font;
}
public final int getForeColor()
{
if (forecolor == -1)
{
if (parent != null)
{
return parent.getForeColor();
}
forecolor = 0;
}
return forecolor;
}
public Manager getParent()
{
return parent;
}
public void keyPressed(int keyCode)
{
}
public void keyReleased(int keyCode)
{
}
public void keyRepeated(int keyCode)
{
}
protected void moveFocus(boolean forward)
{
if (parent != null)
{
parent.moveFocus(forward);
}
}
// If the area is acting like a Canvas, call
// the real paint routine
protected void paint(Graphics g)
{
eraseBackground(g);
g.setColor(getForeColor());
g.setFont(getFont());
paintArea(g, true);
}
// The manager calls this paint routine on each of
// its children
public final void paint(Graphics g, boolean hasFocus)
{
int cx = g.getClipX();
int cy = g.getClipY();
int ch = g.getClipHeight();
int cw = g.getClipWidth();
Font f = g.getFont();
int col = g.getColor();
eraseBackground(g);
g.setClip(x, y, w, h);
g.setFont(getFont());
g.setColor(getForeColor());
paintArea(g, hasFocus);
g.setClip(cx, cy, cw, ch);
g.setFont(f);
g.setColor(col);
}
// Subclass implements to do actual painting
protected abstract void paintArea(Graphics g, boolean hasFocus);
// Repaint the area of the given child
public void repaintArea(Area child, boolean now)
{
if (parent != null)
{
parent.repaintArea(child, now);
} else
{
repaint(child.getX(), child.getY(), child.getWidth(), child
.getHeight());
if (now)
{
serviceRepaints();
}
}
}
public void setBackColor(int col)
{
backcolor = col;
}
public void setForeColor(int col)
{
forecolor = col;
}
protected void setParent(Manager parent)
{
this.parent = parent;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Numbergame
共44个文件
class:11个
java~1~:10个
java:10个
需积分: 15 3 下载量 128 浏览量
2008-10-23
19:30:20
上传
评论
收藏 36KB RAR 举报
温馨提示
手机游戏Numbergame MIDlet Canvas
资源推荐
资源详情
资源评论
收起资源包目录
numbergame.rar (44个子文件)
numbergame
numbergame.jpx.local 2KB
bak
Mark.java~1~ 50B
NumberGame.java~1~ 62B
Button.java~1~ 54B
CongScreen.java~2~ 2KB
Area.java~1~ 50B
Button.java~2~ 54B
ButtonListener.java~1~ 36B
NumScreen.java~2~ 1KB
Area.java~2~ 5KB
SplashScreen.java~1~ 66B
Manager.java~1~ 56B
Engine.java~1~ 54B
Mark.java~2~ 3KB
NumScreen.java~1~ 60B
CongScreen.java~1~ 62B
jad-temp
NumberGame.jad 35B
SplashScreen.jad 39B
src
Button.java 3KB
CongScreen.java 2KB
SplashScreen.java 689B
Mark.java 3KB
NumberGame.java 4KB
Area.java 5KB
NumScreen.java 1KB
Engine.java 1KB
ButtonListener.java 127B
Manager.java 3KB
numbergame.jpx 3KB
classes
NumScreen.class 2KB
welcome.png 3KB
cong.png 2KB
Area.class 4KB
package cache
unnamed package.dep2 16KB
ButtonListener.class 147B
CongScreen.class 3KB
Mark.class 3KB
NumberGame.class 5KB
star.png 358B
SplashScreen.class 1KB
Manager.class 3KB
NumScreen$1.class 499B
Engine.class 1KB
Button.class 4KB
共 44 条
- 1
资源评论
ggygod
- 粉丝: 4
- 资源: 48
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功