?? cameraform.java
字號:
package com.j2medev.chapter7;
import java.io.IOException;
import javax.microedition.lcdui.*;
import javax.microedition.media.*;
import javax.microedition.media.control.VideoControl;
public class CameraForm extends Form implements Runnable,CommandListener {
private Command backCommand = new Command("back",Command.BACK,1);
private Command captureCommand = new Command("Capture",Command.OK,2);
private Displayable parent = null;
private Player player = null;
private VideoControl vc = null;
public CameraForm(Displayable _parent) {
super("capture");
this.parent = _parent;
if(player == null)
createPlayer();
addCommand(backCommand);
setCommandListener(this);
}
private void createPlayer(){
try{
player = Manager.createPlayer("capture://video");
player.realize();
vc = (VideoControl)player.getControl("VideoControl");
if(vc != null)
append((Item)vc.initDisplayMode(VideoControl.USE_GUI_PRIMITIVE,null));
vc.setDisplayFullScreen(true);
player.start();
addCommand(captureCommand);
}catch(MediaException ex){
}catch(IOException ex){
}
}
public void commandAction(Command command, Displayable displayable) {
if(command == backCommand){
PuzzleMIDlet.setCurrent(parent);
releasePlayer();
} else if(command == captureCommand){
new Thread(this).start();
}
}
private void releasePlayer(){
if(player != null){
player.close();
player = null;
}
}
public void run() {
try {
byte[] img = vc.getSnapshot(null);
Image image = Image.createImage(img,0,img.length);
releasePlayer();
//可以把照片存儲在RMS中,以后繼續玩。
GameCanvas canvas = new GameCanvas(image);
PuzzleMIDlet.setCurrent(canvas);
} catch (MediaException ex) {
ex.printStackTrace();
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -