📄 maincanvas.java
字号:
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class MainCanvas extends Canvas implements Runnable
{
public int height;
public int wide;
public LPKeyMask AllOf;//实现所有的参数的存储
private Alert alert;
public int whichActive;//获取当前按键的编号,对应的处理事件
public int allAction;//按键的状态的表示
private Image image=null;//backgroundpictrue
public TESTP pass;//从主类传来的截面的控制类
public ShowData show;
public MainCanvas(TESTP pass)
{
AllOf=new LPKeyMask();
this.pass=pass;
whichActive=0;
image=null;
alert =new Alert("");
alert.setString(" 手机里课表为空 请先添加课程的安排");
alert.setTimeout(3000);
try
{
image=Image.createImage("/p1.png");
}
catch(Exception e)
{
System.out.println(e+" show me the error");
}
}
protected void paint(Graphics g) {
drawMenuScreen(g);
}
public void drawMenuScreen(Graphics g)
{
System.out.println("drawMenuScreen 函数正常");
height=getHeight();
wide=getWidth();
System.out.println(height+" "+wide);
Font font=Font.getFont(Font.FACE_MONOSPACE,Font.STYLE_BOLD|Font.STYLE_ITALIC,Font.SIZE_LARGE);
g.setFont(font);
g.setClip(0, 0, wide, height);
g.drawImage(image, 20, 20, g.LEFT|g.TOP);
int menuOffset=(height-font.getHeight()*3)/2;
int item0Color=0;
int item1Color=0;
int item2Color=0;
switch(whichActive)
{
case 0:
item0Color=255<<32;
break;
case 1:
item1Color=255<<32;
break;
case 2:
item2Color=255<<32;
break;
}
g.setColor(item0Color);
g.drawString("查看当天的课程", (wide-font.stringWidth("查看当天的课程"))/2, menuOffset+font.getHeight()*0, g.LEFT|g.TOP);
g.setColor(item1Color);
g.drawString("修改课程的安排",(wide-font.stringWidth("修改课程的安排"))/2, menuOffset+font.getHeight()*1, g.LEFT|g.TOP);
g.setColor(item2Color);
g.drawString("退出系统",(wide-font.stringWidth("推出系统"))/2,menuOffset+font.getHeight()*2, g.LEFT|g.TOP);
}
public void run()
{
action();
}
protected void keyPressed(int keyCode)
{
//judgeKeyCode(keyCode,getGameAction(keyCode));
/* int action=getGameAction(keyCode);
switch(action){
case LEFT: //left, right, up ,down
case RIGHT:
case UP:
if(whichActive==0)
{
whichActive=0;
}
else
{
whichActive--;
}
repaint();
break;
case DOWN:
if(whichActive==3)
{
whichActive=3;
}
else{
whichActive++;
}
repaint();
break;
case FIRE:
System.out.println(" jjj"+whichActive);
System.out.println("48468184"); //是与否的选择处理
break;
}
*/
}
protected void keyReleased(int keyCode)
{
judgeKeyCode(keyCode,getGameAction(keyCode));
freeKey(keyCode,getGameAction(keyCode));
}
public void judgeKeyCode(int keyCode ,int GameKeyCode)
{
switch(GameKeyCode)
{
case Canvas.FIRE://当开始建被按下的时候
break;
case Canvas.UP://当向上的键被按下的时候
if(whichActive==0)
{
whichActive=0;
}
else
{
whichActive--;
}
repaint();
break;
case Canvas.DOWN://当向下的间被按下的时候
// if(((allAction&LPKeyMask.MASK_KEY_DOWN)==0)&&((allAction&LPKeyMask.MASK_KEY_DOWN_FLAG)==0))
// {
// allAction|=LPKeyMask.MASK_KEY_DOWN|LPKeyMask.MASK_KEY_DOWN_FLAG;
// }
if(whichActive==2)
{
whichActive=2;
}
else{
whichActive++;
}
repaint();
break;
}
}
public void freeKey(int keyCode,int gameKeyCode)
{System.out.println("freeKey 函数正常");
switch(gameKeyCode)
{
case Canvas.FIRE:
allAction&=~LPKeyMask.MASK_KEY_OK;
Missile(whichActive);
break;
case Canvas.UP:
allAction&=~LPKeyMask.MASK_KEY_UP;
break;
case Canvas.DOWN:
allAction&=~LPKeyMask.MASK_KEY_DOWN;
break;
}
}
public void action()
{
if((allAction&LPKeyMask.MASK_KEY_UP_FLAG)!=0)
{
allAction&=~LPKeyMask.MASK_KEY_DOWN_FLAG;
if(whichActive!=0)
{
--whichActive;
}
else
{
whichActive=2;
}
}
else if((allAction&LPKeyMask.MASK_KEY_DOWN_FLAG)!=0)
{
allAction&=~LPKeyMask.MASK_KEY_DOWN_FLAG;
if(whichActive!=2)
{
++whichActive;
}
else
{
whichActive=0;
}
}else if((allAction&LPKeyMask.MASK_KEY_OK_FLAG)!=0)
{
allAction&=~LPKeyMask.MASK_KEY_OK_FLAG;
}
}
public void Missile(int Position)
{
switch(Position)
{
case 0:
boolean flag=false;
try
{ int temp;
AllOf.PicStack.push(Display.getDisplay(pass).getCurrent());
// LPKeyMask.ClassSave1.deleteRecord();
//temp=LPKeyMask.ClassSave1.addRecord("星期一: 第一,二节 <软件成熟度模型CMM 毕硕本明德N404>");//判断数据是否为空,假如是空就提示输入,不是空的话,就跳转到查询截面
// System.out.println("添加的数据的ID是 "+temp);
// System.out.println(temp+"88888888");
if(LPKeyMask.ClassSave1.empty())
{
Display.getDisplay(pass).setCurrent(alert,(Displayable)AllOf.PicStack.pop());
}
else {
//LPKeyMask.ClassSave1.close();
// LPKeyMask.ClassSave1.deleteRecord();
//LPKeyMask.ClassSave1.setRecord("编译原理2节/双周(01-18)郑关胜明德N315(调0053)、(调0140)、(调0141)嵌入式软件设计2节/周(01-18)岳键 明德S603分布式系统2节/周(01-18)陈遥明德S103",1);
//LPKeyMask.ClassSave1.setRecord("软件体系结构2节/周(01-18)潘锦基文德S503 专业英语2节/双周(01-18)马廷淮明德S405",2);
//LPKeyMask.ClassSave1.setRecord("移动通信软件设计2节/周(01-18)刘文杰明德N305(调0133)",5);
System.out.println("********");
show=new ShowData(pass,AllOf);
Display.getDisplay(pass).setCurrent(show);
}
}
catch(Exception e)
{
System.out.println("把当前的显示对象压入图象错误,"+e);
}
break;
case 1:
System.out.println("修改日期或者课程的安排");
break;
case 2:
System.out.println("退出系统");
pass.destroyApp(true);
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -