如何从url Codenameone创建一个Image

我需要从具有图像的url的字符串创建一个新的Image实例。
例如http://sofzh.miximages.com/java/restaurant-71.png

这种类型的URL来自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; } 

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

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

您可以使用它来从url获取图像

 Image image = Toolkit.getDefaultToolkit().getDefaultToolkit().createImage(url); 

这也可以

 Image image = ImageIO.read(url);