?? clippingtest.java
字號:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class ClippingTest extends MIDlet{
Display display;
MyCanvas myCanvas;
public ClippingTest(){
display = Display.getDisplay(this);
myCanvas = new MyCanvas();
}
public void startApp(){
display.setCurrent(myCanvas);
}
public void pauseApp(){
}
public void destroyApp(boolean unconditional){
}
class MyCanvas extends Canvas implements CommandListener{
Command moveRightCmd, moveDownCmd;
Image image;
int clippingX, clippingY;
int clippingWidth, clippingHeight;
boolean reverseX, reverseY;
public MyCanvas(){
clippingX = 0;
clippingY = 0;
clippingWidth = 40;
clippingHeight = 40;
reverseX = false;
reverseY = false;
try{
image = Image.createImage("/_logo_8.png");
}catch(Exception ex){}
moveRightCmd = new Command("向右", Command.SCREEN, 1);
moveDownCmd = new Command("向下", Command.SCREEN, 1);
addCommand(moveRightCmd);
addCommand(moveDownCmd);
setCommandListener(this);
}
public void paint(Graphics g){
g.setColor(0xFFFFFF);
g.fillRect(0, 0, getWidth(), getHeight());
g.translate(clippingX, clippingY);
g.setClip(0, 0, clippingWidth, clippingHeight);
g.translate(-clippingX, -clippingY);
g.drawImage(image, 0, 0, Graphics.LEFT|Graphics.TOP);
}
public void commandAction(Command c, Displayable d){
if(c == moveRightCmd){
if(reverseX == false){
clippingX += 10;
}
else{
clippingX -= 10;
}
if(clippingX >= getWidth()){
clippingX = getWidth();
reverseX = true;
}
if(clippingX <= 0){
clippingX = 0;
reverseX = false;
}
}
else if(c == moveDownCmd){
if(reverseY == false){
clippingY += 10;
}
else{
clippingY -= 10;
}
if(clippingY >= getHeight()){
clippingY = getHeight();
reverseY = true;
}
if(clippingY <= 0){
clippingY = 0;
reverseY = false;
}
}
repaint();
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -