2011-11-16 9 views
0

私はJ2MEでモバイルアプリケーションを開発しています。今私はそれをJ2MEポーランド語に変換しています。私のアプリケーションでは、携帯電話でカメラを使って画像をキャプチャします。それはJ2MEで正常に動作します。しかし、J2MEポーランドではうまく動作しません。私はそれを解決することはできません。J2MEポーランド語でカメラを使用して画像をキャプチャできませんか?

上記のコードが正常に動作する通常J2MEで

import javax.microedition.lcdui.Canvas; 
import javax.microedition.media.control.VideoControl; 
//... 

public class VideoCanvas extends Canvas { 
    // private VideoMIDlet midlet; 
    // Form frm 

Form frm=null; 

    public VideoCanvas(VideoControl videoControl) {  

     int width = getWidth(); 
     int height = getHeight(); 
     // this.midlet = midlet; 

     //videoControl.initDisplayMode(VideoControl.USE_DIRECT_VIDEO, this); 

     //Canvas canvas = StyleSheet.currentScreen; 
     //canvas = MasterCanvas.instance; 



     videoControl.initDisplayMode(VideoControl.USE_DIRECT_VIDEO,this); 

     try { 
      videoControl.setDisplayLocation(2, 2); 
      videoControl.setDisplaySize(width - 4, height - 4); 
     } catch (MediaException me) {} 
     videoControl.setVisible(true); 



    } 

    public VideoCanvas(VideoControl videoControl,Form ff) {  

    frm=ff; 
     int width = getWidth(); 
     int height = getHeight(); 
     // this.midlet = midlet; 

     Ticker ticker=new Ticker("B4 video controll init"); 
     frm.setTicker(ticker); 

     //Canvas canvas = StyleSheet.currentScreen;   




     videoControl.initDisplayMode(VideoControl.USE_DIRECT_VIDEO,this); 

     ticker=new Ticker("after video controll init"); 
     frm.setTicker(ticker); 

     try { 
      videoControl.setDisplayLocation(2, 2); 
      videoControl.setDisplaySize(width - 4, height - 4); 
     } catch (MediaException me) {} 
     videoControl.setVisible(true); 



     ticker=new Ticker("Device not supported"); 
     frm.setTicker(ticker); 


    } 

    public void paint(Graphics g) { 
     int width = getWidth(); 
     int height = getHeight(); 

     g.setColor(0x00ff00); 
     g.drawRect(0, 0, width - 1, height - 1); 
     g.drawRect(1, 1, width - 3, height - 3); 
    } 

} 

下記のコードスニペットを。しかし、j2me磨きでvideoControl.initDisplayMode(VideoControl.USE_DIRECT_VIDEO,this)ここにこのVideoCanvas (which extends from javax.microedition.lcdui.Canvas)を指します。しかし、それは "IllegalArgumentException - コンテナはキャンバスにする必要があります"というようにスローされます。どのように問題を解決するには?

+1

_VideoCanvas.java_で使用されているimportステートメントを指定しないと、extends節で使用される 'Canvas'が' javax.microedition.lcdui.Canvas'を参照するのか、別のパッケージの何らかのクラス同じ名前を持っています – gnat

+0

こんにちは。コードスニペットの私の部分だけを投稿します。私はすでに以下の "javax.microedition.lcdui.Canvas、javax.microedition.media.control.VideoControl"をインポートします。しかし私は私の投稿に追加するのを忘れました。だから私の間違いを許してください。すべての貴重なアイデアを与えることを歓迎しています。 –

+0

@ SIVAKUMAR.J J2MEのポリッシュを使用して画像をキャプチャするためにカメラを開く必要がありますどのように進む方法を私に提案することができます。 –

答えて

3

表示クラスはJ2MEで異なります& J2MEポーランド語。私はDisplayクラスだけのためこのエラーが発生していると思います。

ディスプレイクラスをポーランドのライブラリ&に変更すると、問題が解決されます。

+0

私はコメントを追加して私の質問に追加ポイントを追加します。それは私に貴重なアイデアを与えるアクセスしてください。それは私にとって有益です。 –

+0

@ SIVAKUMAR.Jありがとう – Lucifer