📄 pdmatrixcommand.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 + -