www.pudn.com > j2me-jianhun.rar > showContent.java
/*游戏中的框架以及功能类*/
import javax.microedition.lcdui.*;
import java.util.Vector;
import java.util.Random;
import java.io.*;
import javax.microedition.media.*;
import javax.microedition.rms.*;
class showContent extends Canvas
{
int w,h;//屏幕的长和宽
int cw;//字体的宽
int page,maxPage;//帮助信息中的页码/最大页码
int rn;//每行最大字数
int maxR;//每屏最多显示的行数
int cr;//字体行距
int no;
int menuN;//菜单选项数
String pType;//手机型号
public static Random rd=new Random();
Font big=Font.getFont(0,0,0);
Font small=Font.getFont(0,0,8);
Font mini=Font.getFont(0,0,16);
Vector about;
Vector help;
RecordStore sa=null;
public final String[] mediaType=new String[]{"audio/x-wav","audio/midi","audio/mpeg"};
public showContent(String phoneType,int wid,int hei,int charw,int charR,int n,String[] aboutText,String[] helpText)
{
pType=phoneType;
menuN=n;
about=new Vector(0,1);
help=new Vector(0,1);
w=wid;h=hei;cw=charw;cr=charR;
rn=w/cw;
maxR=(h-20)/cr;
page=0;
for(int m=0;m0)
no--;
else
no=menuN-1;
}
else
{
if(page>0)
page--;
}
break;
case Canvas.DOWN:
if(type==1)
{
if(no>>1)%n);
}
/*判断软键*/
public int softKey(int i)
{
if(i==-6||i==-21||i==21)
return 0;
else
if(i==-7||i==22||i==-22)
return 1;
else
return -1;
}
/*判断某一点是否在屏幕内*/
public boolean inScreen(int x,int y,int ow,int oh)
{
if((x+ow)>0&&x0&&y=0?i:-i;
}
/*MOTO的按键转换*/
public int keyTrans(int i)
{
if(pType.equals("MOTO"))
{
if(i==-6)
return -2;
else
if(i==-2)
return -3;
else
if(i==-5)
return -4;
else
return i;
}
else
return i;
}
/*显示暂停*/
public void drawPause(Graphics g1)
{
g1.setColor(0);
g1.fillRect(w/2-30,h/2-6,60,30);
g1.setColor(0xffffff);
g1.drawRect(w/2-30,h/2-6,60,30);
g1.drawString("暂停中",w/2-20,h/2,0);
}
public void showHelp(Graphics g1,int x,int y,boolean fillBack,int r,int g,int b)//显示帮助
{
if(fillBack)
{
g1.setColor(r,g,b);
g1.fillRect(0,0,w,h);
}
g1.setFont(small);
g1.setColor(0xffffff);
for(int i=0;i= 0)
// {
g.setColor(topColor);
g.drawString(str,x-1,y,anchor);
g.drawString(str,x,y-1,anchor);
g.drawString(str,x-1,y-1,anchor);
// }
// if(bottomColor >= 0)
// {
g.setColor(bottomColor);
g.drawString(str,x+1,y,anchor);
g.drawString(str,x,y+1,anchor);
g.drawString(str,x+1,y+1,anchor);
// }
g.setColor(mainColor);
g.drawString(str,x,y,anchor);
}
/*得到指定透明度的一张图的透明图*/
public Image createARGBImage(Image src,int Alpha)
{
int[] rgb=new int[src.getWidth()*src.getHeight()];
src.getRGB(rgb,0,src.getWidth(),0,0,src.getWidth(),src.getHeight());
for(int i=0;i>24&0xff),(byte)(a>>16&0xff),(byte)(a>>8&0xff),(byte)(a&0xff)});
// }
//
// public void saveData(int a,int b)
// {
// saveData(int2byte(a),b);
// }
//
// public void saveData(int[] a,int b)
// {
// byte[] temp=new byte[a.length*4];
// for(int i=0;i