【问题标题】:I want to display an PNG image using J2ME MIDlet classes on blackberry device我想在黑莓设备上使用 J2ME MIDlet 类显示 PNG 图像
【发布时间】:2014-03-14 15:02:37
【问题描述】:

我正在尝试使用 J2ME MIDlet 类而不是黑莓 RIMlet 类在 OS 5.0 的黑莓设备上显示 PNG 图像。我可以使用 J2ME MIDlet 代替 RIMlets 吗?它是否与黑莓兼容,因为黑莓确实支持 J2ME?我可以从中获取图像吗?

【问题讨论】:

    标签: blackberry java-me png midlet


    【解决方案1】:

    要在 BlackBerry® 设备的屏幕上显示图像,请创建一个 Image 对象并通过调用 static Image.createImage() 方法填充它。提供图像的位置作为参数。

    参考display an PNG image using J2ME MIDlet classes on blackberry device

    【讨论】:

      【解决方案2】:

      我可以使用 J2ME MIDlet 代替 RIMlets...

      是的,但有一些优点,如提到的here.

      如果您想使用 MIDlet,这里有一个使用 ImageItem 的示例,

      import javax.microedition.lcdui.*;
      import javax.microedition.midlet.*;
      
      public class ImageItemMIDlet extends MIDlet implements CommandListener{
        private Command exit;
        private ImageItem imageItem;
        private Image image;
        private Display display;
        private Form form;
      
        public ImageItemMIDlet(){
        try{
        image = Image.createImage("/yourImage.png");
        } catch (Exception e){ }
        imageItem = new ImageItem("This is the IMAGE_ITEM Application", 
        image, ImageItem.LAYOUT_DEFAULT, "image");
        }
      
        public void startApp(){
        form = new Form("ImageItem Example");
        display = Display.getDisplay(this);
        exit = new Command("Exit", Command.EXIT, 1);
        form.append(imageItem);
        form.addCommand(exit);
        form.setCommandListener(this);
        display.setCurrent(form);
        }
      
        public void pauseApp(){}
      
        public void destroyApp(boolean unconditional){
        notifyDestroyed();
        }
      
        public void commandAction(Command c, Displayable d){
        String label = c.getLabel();
        if(label.equals("Exit")){
        destroyApp(true);
        }
        }
      } 
      

      【讨论】:

        【解决方案3】:

        public class Midlet extends MIDlet {

        public Display display;
        
        public void startApp() {
        
            Canvas obj = new DrawImage();
        
            display = Display.getDisplay(this);
            display.setCurrent(obj);
        
        }
        
        public void pauseApp() {
        }
        
        public void destroyApp(boolean unconditional) {
        }
        
        
        public class DrawImage extends Canvas{
        
            int width = getWidth();
            int height = getHeight();
        
            protected void paint(Graphics g) {
                try {
        
                    System.out.println("111111");
                    Image image = Image.createImage("/Waterfall.png");
                    if(image != null)
                        g.drawImage(image, 0, 0, Graphics.TOP | Graphics.LEFT);
                    else
                        System.out.println("2222");
                } catch (IOException ex) {
                    System.out.println(ex);
                }   
            }  
        }   
        

        }

        【讨论】:

          【解决方案4】:

          将 Midlet 与画布一起使用以在画布上显示是很好的,因为如果您将 Midlet 与 Form 一起使用,那么它的显示图像也会在表单的背景中显示移动主题。如果您使用画布,您还可以将背景图像用作正面图像。 谢谢

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-09-09
            相关资源
            最近更新 更多