⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainmenucommand.java

📁 基于j2me的高等代数计算工具
💻 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 + -