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

📄 captureform.java

📁 j2me简单实例,j2me教程加源码,希望大家喜欢
💻 JAVA
字号:
package com.j2medev.chapter4;

import com.j2medev.httpme.HttpUtil;
import com.j2medev.httpme.view.MyImageItem;
import com.j2medev.httpme.view.MyTextField;
import java.io.IOException;
import javax.microedition.lcdui.*;
import javax.microedition.media.*;
import javax.microedition.media.control.VideoControl;

public class CaptureForm extends Form implements CommandListener{
    
    private BlogMIDlet midlet = null;
    private Player player = null;
    private VideoControl vc = null;
    private Command captureCommand = new Command("capture",Command.OK,0);
    private Command uploadCommand = new Command("upload",Command.OK,1);
    
    public CaptureForm(BlogMIDlet _midlet) {
        super("capture");
        this.midlet = _midlet;
        startPlayer();
        addCommand(new Command("back",Command.BACK,2));
        addCommand(captureCommand);
        setCommandListener(this);
    }
    //初始化Player,显示拍照屏幕
    private void startPlayer(){
        if(player == null){
            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));
                }
                player.start();
            } catch (MediaException ex) {
                ex.printStackTrace();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    }
    //释放资源
    private void release(){
        if(player != null)
            player.close();
        player = null;
    }
    
    public void commandAction(Command command, Displayable displayable) {
        if(command.getCommandType() == Command.BACK){
            release();
            midlet.displayMenu();
        }else if(command == captureCommand){//拍照
            new Thread(){
                public void run(){
                    try {
                        byte[] img = vc.getSnapshot("encoding=jpeg");
                        deleteAll();
                        append(new MyTextField("title","",30,TextField.ANY,"title"));
                        append(new MyImageItem("image",img,Item.LAYOUT_CENTER,"","image","file.jpg"));
                        removeCommand(captureCommand);
                        addCommand(uploadCommand);
                        release();
                    } catch (MediaException ex) {
                        ex.printStackTrace();
                    }
                }
            }.start();
        }else if(command == uploadCommand){//上传
            midlet.post("/blogserver/upload",this,HttpUtil.MULTIPART_FORM_DATA);
        }
    }
}

⌨️ 快捷键说明

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