📄 canvasdemo4.java
字号:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class canvasDemo4 extends MIDlet implements CommandListener
{
Display display;
List list;
int viewType;
Command okCommand;
Command exitCommand;
canvasDraw canvasdraw;
public canvasDemo4()
{
canvasdraw=new canvasDraw();
display=Display.getDisplay(this);
list=new List("线条几何形状绘制清单", List.IMPLICIT);
okCommand = new Command("确认", Command.OK, 2);
exitCommand = new Command("离开", Command.EXIT, 2);
list.append("绘制线条", null);
list.append("绘制矩形", null);
list.append("绘制圆角矩形", null);
list.append("绘制弧形", null);
list.append("绘制三角形", null);
list.addCommand(okCommand);
list.addCommand(exitCommand);
list.setCommandListener(this);
}
public void startApp()
{
display.setCurrent(list);
}
public void pauseApp(){}
public void destroyApp(boolean unconditional){}
public void commandAction(Command cmd, Displayable disp)
{
viewType=list.getSelectedIndex();
if (cmd == okCommand)
{
display.setCurrent(canvasdraw);
}
else if(cmd == exitCommand){
destroyApp(false);
notifyDestroyed();
}
}
class canvasDraw extends Canvas implements CommandListener
{
int gameaction=0;
Image handImage;
int changeSD=1;
int changeFull=0;
Command backCommand;
public canvasDraw()
{
try{
handImage=Image.createImage("/hand.png");
}catch(Exception ex){}
backCommand = new Command("返回", Command.BACK, 1);
addCommand(backCommand);
setCommandListener(this);
}
public void keyPressed(int keyCode)
{
gameaction=getGameAction(keyCode);
switch(gameaction)
{
case LEFT:
changeSD=1;
break;
case RIGHT:
changeSD=3;
break;
case UP:
changeFull=0;
break;
case DOWN:
changeFull=1;
break;
}
repaint();
}
public void paint(Graphics g)
{
g.setColor(0xffffff);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(0);
if(changeSD==1)
g.setStrokeStyle(Graphics.SOLID);
else
g.setStrokeStyle(Graphics.DOTTED);
if(viewType==0)
{
g.drawString("绘制线条", getWidth()/2, 5, Graphics.HCENTER | Graphics.TOP);
g.drawLine(getWidth()/4,100,3*getWidth()/4,100);
}
else if(viewType==1){
g.drawString("绘制矩形", getWidth()/2, 5, Graphics.HCENTER | Graphics.TOP);
if(changeFull==0)
g.drawRect(getWidth()/4,100,getWidth()/2,40);
else
g.fillRect(getWidth()/4,100,getWidth()/2,40);
}
else if(viewType==2){
g.drawString("绘制圆角矩形", getWidth()/2, 5, Graphics.HCENTER | Graphics.TOP);
if(changeFull==0)
g.drawRoundRect(getWidth()/4,100,getWidth()/2,40,30,40);
else
g.fillRoundRect(getWidth()/4,100,getWidth()/2,40,30,40);
}
else if(viewType==3){
g.drawString("绘制弧形", getWidth()/2, 5, Graphics.HCENTER | Graphics.TOP);
if(changeFull==0)
g.drawArc(getWidth()/3,100,40,50,0,150);
else
g.fillArc(getWidth()/3,100,40,50,0,150);
}
else {
g.drawString("绘制三角形", getWidth()/2, 5, Graphics.HCENTER | Graphics.TOP);
g.fillTriangle(50,80,80,60,100,120);
}
if(viewType!=4)
{
g.drawString("实线", getWidth()/4, 50, Graphics.HCENTER | Graphics.TOP);
g.drawString("虚线", 3*getWidth()/4, 50, Graphics.HCENTER | Graphics.TOP);
g.drawImage(handImage, changeSD*getWidth()/4, 60, Graphics.HCENTER | Graphics.TOP);
}
if(viewType!=0 && viewType!=4)
{
g.drawString("几何形状", getWidth()/2, 30, Graphics.HCENTER | Graphics.TOP);
g.drawString("填充几何形状", getWidth()/2, 70, Graphics.HCENTER | Graphics.TOP);
g.drawImage(handImage, getWidth()/2, 40+changeFull*40, Graphics.HCENTER | Graphics.TOP);
}
}
public void commandAction(Command cmd, Displayable disp)
{
if (cmd == backCommand)
display.setCurrent(list);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -