📄 maincanvas.java
字号:
package x;
import javax.microedition.lcdui.*;
public class mainCanvas extends Canvas implements Runnable{
static mainCanvas instance=null;
private Image backImg;
private boolean bIfrun=false;
public int width,height,fontHeight;
private int tempTitleY;
private ReaderMIDlet read;
menuStruct menu=new menuStruct(null,null,null,null,null);
String strTitleName=null,strParent=null,strAdress=null;
private int backX,backY;
String[] StrMenu ;
String[] strChild;
Font font;
public mainCanvas(String tableName,ReaderMIDlet read){
initialize();
this.read=read;
backX=0;
tempTitleY=this.fontHeight+5;
backY=0;
backImg= ReaderMIDlet.getImage(ReaderMIDlet.IMG_PROXY_ON);
ReaderMIDlet.vector=RMSData.readRS(tableName);
StrMenu=new String[ReaderMIDlet.vector.size()];
strChild=new String[ReaderMIDlet.vector.size()];
// System.out.println("ReaderMIDlet.vector.size()"+ReaderMIDlet.vector.size());
for(int i=0;i<ReaderMIDlet.vector.size();i++)
{
menu=(menuStruct)ReaderMIDlet.vector.elementAt(i);
StrMenu[i]=menu.getTitle().toString();
strChild[i]=menu.getChild().toString();
System.out.println("strChild+"+strChild[i]);
}
menu=(menuStruct)ReaderMIDlet.vector.elementAt(0);
strParent=menu.getParent();
strAdress=menu.getAdress();
ReaderMIDlet.strPreTable=strParent;
selectedItem=0;
}
protected void initialize() {
width = getWidth();
System.out.println("width="+width);
height = getHeight();
font = Font.getDefaultFont();
fontHeight = font.getHeight();
}
public void start(){
Thread t=new Thread(this);
bIfrun=true;
t.start();
}
public void stop(){
bIfrun=false;
}
private byte selectedItem=0;
public void paint(Graphics g){
g.setColor(0,0,0);
g.fillRect(0,0,this.getWidth(),this.getHeight());
g.drawImage(backImg,backX,backY,Graphics.LEFT|Graphics.TOP);
int y=0;
g.setColor(255,255,255);
g.fillRect(0,tempTitleY+(fontHeight*3/2)*selectedItem-2,width,this.fontHeight+4);
for(int i=0;i<StrMenu.length;i++){
if(i==this.selectedItem){
g.setColor(0,0,0);
}else{g.setColor(255,255,255);}//setcolor
g.drawString(StrMenu[i],width/2-font.stringWidth(StrMenu[i])/2,tempTitleY+y,Graphics.LEFT|Graphics.TOP);
y+=this.fontHeight*3/2;
}
}
public void keyPressed(int n) {
switch(this.getGameAction(n)){
case Canvas.RIGHT:
break;
case Canvas.LEFT:
break;
case Canvas.UP:
if(selectedItem==0){
selectedItem=(byte)(StrMenu.length-1);
}else{
selectedItem--;
}
break;
case Canvas.DOWN:
if( selectedItem==StrMenu.length-1){
selectedItem=0;
}else{selectedItem++;}
break;
case Canvas.FIRE:
actionMenu();
break;
}
this.repaint();
}
public void actionMenu(){
if(this.strAdress.equals("none"))
{
mainCanvas main=new mainCanvas(strChild[this.selectedItem],read);
read.d.setCurrent(main);
}else{
DownFicForm fiction=new DownFicForm(strAdress);
Display.getDisplay(ReaderMIDlet.instance).setCurrent(fiction);
}
}
public void run(){
while(bIfrun){
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -