如何从url Codenameone创建一个图像

时间:2012-10-19 17:18:14

标签: java image codenameone

我需要从包含图像网址的字符串中创建一个新的Image实例 例如。 http://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png

这种类型的网址来自JSONParser,我想用它们来填充多按钮列表的图标。

我使用此Model类的以下 getItemAt 方法将数据放在多按钮列表中。每个多按钮都有一个图标和一些线条。我将Line1命名为 name ,将Line2命名为 rating 。我希望从字符串url创建一个Image,这样我就可以在h.put(“icon”,defaultIcon)行中更改多重按钮图标来代替defaultIcon。

static class Model implements ListModel {
    public Object getItemAt(int index) {
        Hashtable h      = new Hashtable();
        Hashtable entry  = (Hashtable) results.elementAt(index);
        String    name   = (String) entry.get("name");
        Double    rating = (Double) entry.get("rating");
        String    url    = (String) entry.get("icon");

        h.put("name", name);
        h.put("icon", defaultIcon); // change defaultIcon with an Image from url String

        if (rating == null) {
            h.put("rating", "Not rated");
        } else {
            h.put("rating", "Rating: " + rating.toString());
        }

        return h;
    }

2 个答案:

答案 0 :(得分:3)

使用将ImageDownloadService.createImageToStorage异步下载图像的{{1}},将其放在适当位置的列表的Hashtable中。刷新列表并将图像缓存在存储中,以备再次请求时使用。

它还可以将图像缩放到固定尺寸,作为服务的一部分。

答案 1 :(得分:0)

您可以使用它来从网址

获取图片
Image image = Toolkit.getDefaultToolkit().getDefaultToolkit().createImage(url);

这也可以起作用

Image image = ImageIO.read(url);