📄 mainmenucommand.java
字号:
package edu.neu.aatk.command;
import javax.microedition.lcdui.Canvas;
import javax.microedition.midlet.MIDletStateChangeException;
import edu.neu.aatk.canvas.InputXYCanvas;
import edu.neu.aatk.canvas.MainMenuCanvas;
import edu.neu.aatk.canvas.ZsdMenuCanvas;
import edu.neu.aatk.command.hlsqz.HlXYCommand;
import edu.neu.aatk.command.jzcf.Jc1XYCommand;
import edu.neu.aatk.command.jzjf.Jj1XYCommand;
import edu.neu.aatk.command.pdjzknx.PdXYCommand;
import edu.neu.aatk.command.qjzdz.QzXYCommand;
import edu.neu.aatk.command.qnjz.QnXYCommand;
public class MainMenuCommand implements KeyCommand {
private MainMenuCanvas c;
public MainMenuCommand(MainMenuCanvas c) {
this.c = c;
}
public void keyPressed(int keyCode) {
switch(keyCode) {
case -1: // up
if(--c.selected < 0){
c.selected += c.count;
}
c.repaint();
c.serviceRepaints();
break;
case -2: // down
c.selected = ( c.selected + 1 ) % c.count;
c.repaint();
c.serviceRepaints();
break;
case -5: // select
c.selectKeyPressed = true;
c.repaint();
c.serviceRepaints();
break;
case -6: //leftkey
c.leftKeyClicked = true;
c.repaint();
c.serviceRepaints();
break;
default:
}
}
public void keyReleased(int keyCode)
{
switch(keyCode) {
case -5: //select
c.selectKeyPressed = false;
c.repaint();
c.serviceRepaints();
c.aatk.display.setCurrent(nextCanvas(c.selected));
break;
case -6: //exit
c.leftKeyClicked = false;
c.repaint();
c.serviceRepaints();
try {
c.aatk.destroyApp(false);
} catch (MIDletStateChangeException e) {
e.printStackTrace();
}
c.aatk.notifyDestroyed();
break;
default:
System.out.println(keyCode);
}
}
private Canvas nextCanvas(int index) {
Canvas c = null;
switch(index) {
case 0:
InputXYCanvas ixyc = new InputXYCanvas("行列式求值",this.c.aatk);
ixyc.setInfo("请输入行列式的行数和列数");
ixyc.setKeyCommand(new HlXYCommand(ixyc));
return ixyc;
case 1:
ixyc = new InputXYCanvas("判断矩阵可逆性",this.c.aatk);
ixyc.setInfo("请输入矩阵的行数和列数");
ixyc.setKeyCommand(new PdXYCommand(ixyc));
return ixyc;
case 2:
ixyc = new InputXYCanvas("求矩阵的秩",this.c.aatk);
ixyc.setInfo("请输入矩阵的行数和列数");
ixyc.setKeyCommand(new QzXYCommand(ixyc));
return ixyc;
case 3:
ixyc = new InputXYCanvas("矩阵加法",this.c.aatk);
ixyc.setInfo("请输入矩阵1的行数和列数");
ixyc.setKeyCommand(new Jj1XYCommand(ixyc));
return ixyc;
case 4:
ixyc = new InputXYCanvas("矩阵乘法",this.c.aatk);
ixyc.setInfo("请输入矩阵1的行数和列数");
ixyc.setKeyCommand(new Jc1XYCommand(ixyc));
return ixyc;
case 5:
ixyc = new InputXYCanvas("求逆矩阵",this.c.aatk);
ixyc.setInfo("请输入矩阵的行数和列数");
ixyc.setKeyCommand(new QnXYCommand(ixyc));
return ixyc;
case 6:
ZsdMenuCanvas zmc = new ZsdMenuCanvas("知识点", this.c.aatk);
zmc.setKeyCommand(new ZsdMenuCommand(zmc));
return zmc;
default :
break;
}
return c;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -