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

📄 pdmatrixcommand.java

📁 基于j2me的高等代数计算工具
💻 JAVA
字号:
package edu.neu.aatk.command.pdjzknx;

import java.io.IOException;

import javax.microedition.lcdui.Image;

import edu.neu.aatk.Calculator;
import edu.neu.aatk.canvas.AlertCanvas;
import edu.neu.aatk.canvas.InputMatrixCanvas;
import edu.neu.aatk.canvas.InputXYCanvas;
import edu.neu.aatk.command.AlertCommand;
import edu.neu.aatk.command.KeyCommand;
import edu.neu.aatk.command.hlsqz.HlXYCommand;

public class PdMatrixCommand implements KeyCommand {
	private InputMatrixCanvas c;
	
	public PdMatrixCommand(InputMatrixCanvas c) {
		this.c = c;
	}
	
	public void keyPressed(int keyCode) {
		if(keyCode <= 57 && keyCode >= 48) {
			c.numberPressed = true;
			c.keyCode = keyCode;
	    	c.repaint();
	    	c.serviceRepaints();
		}
		
		switch(keyCode) {
			case -8: //clear
				c.mtbs[c.xFocus][c.yFocus].delete();
		    	c.repaint();
		    	c.serviceRepaints();
		    	break;
			case -7: //rightkey
				c.rightKeyClicked = true;
		    	c.repaint();
		    	c.serviceRepaints();
				break;
			case -6:
				c.leftKeyClicked = true;
		    	c.repaint();
		    	c.serviceRepaints();
				break;
			case -1: // up
				if(--c.xFocus < 0){
					c.xFocus += c.xValue;
				}
		    	c.repaint();
		    	c.serviceRepaints();
				break;
			case -2: // down
				c.xFocus = ( c.xFocus + 1 ) % c.xValue;
		    	c.repaint();
		    	c.serviceRepaints();
				break; 
			case -3: // left
				if(--c.yFocus < 0){
					c.yFocus += c.yValue;
				}
		    	c.repaint();
		    	c.serviceRepaints();
				break;
			case -4: // right
				c.yFocus = ( c.yFocus + 1 ) % c.yValue;
		    	c.repaint();
		    	c.serviceRepaints();
				break; 
		}
	}
	
	public void keyReleased(int keyCode) {
		if(keyCode <= 57 || keyCode >= 48)
			c.numberPressed = false;
		switch(keyCode) {
			case -7:
				c.rightKeyClicked = false;
		    	c.repaint();
		    	c.serviceRepaints();
		    	double matrix[][] = new double[c.xValue][c.yValue];
		    	for(int i = 0; i < c.xValue; i ++) {
		    		for(int j = 0; j < c.yValue; j ++) {
		    			matrix[i][j] = c.mtbs[i][j].getNumber();
		    		}
		    	}
		    	Calculator c = new Calculator(matrix);
		    	c.printMatrix();
		    	System.out.println(c.hlsqz());
		    	
				Image image = null;
				try {
					image = Image.createImage("/cmark.PNG");
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
		    	
		    	AlertCanvas ac = new AlertCanvas("判断矩阵可逆性", 
		    			this.c.aatk, 
		    			image, 
		    			"结果", 
		    			"该矩阵" + (c.pdjzknx() ? "" : "不") + "可逆");
		    	
				InputXYCanvas ixyc = new InputXYCanvas("判断矩阵可逆性",this.c.aatk);
				ixyc.setInfo("请输入矩阵的行数和列数");
				ixyc.setKeyCommand(new PdXYCommand(ixyc));
		    	
		    	ac.setKeyCommand(new AlertCommand(ixyc));
		    	this.c.aatk.display.setCurrent(ac);
				break;
			case -6:
				this.c.leftKeyClicked = false;
				//清空状态
				this.c.repaint();
				this.c.serviceRepaints();
				ixyc = new InputXYCanvas("判断矩阵可逆性",this.c.aatk);
				ixyc.setInfo("请输入矩阵的行数和列数");
				ixyc.setKeyCommand(new PdXYCommand(ixyc));
				this.c.aatk.display.setCurrent(ixyc);
				break;
		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -