Не удается сделать снимок с помощью камеры на польском языке J2ME? - PullRequest
0 голосов
/ 16 ноября 2011

Я занимаюсь разработкой мобильного приложения на 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 приведенный выше код работает правильно. Но в j2me польский videoControl.initDisplayMode(VideoControl.USE_DIRECT_VIDEO,this) здесь это относится к VideoCanvas (which extends from javax.microedition.lcdui.Canvas). Но он выдает «IllegalArgumentException - контейнер должен быть холстом». Как решить проблему?

1 Ответ

3 голосов
/ 17 ноября 2011

Класс отображения отличается на польском языке J2ME и J2ME. Я полагаю, что вы получаете эту ошибку только из-за класса Display.

Измените ваш класс Display на польскую библиотеку, и ваша проблема будет решена.

...