我需要从包含图像网址的字符串中创建一个新的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;
}
答案 0 :(得分:3)
使用将ImageDownloadService.createImageToStorage
异步下载图像的{{1}},将其放在适当位置的列表的Hashtable中。刷新列表并将图像缓存在存储中,以备再次请求时使用。
它还可以将图像缩放到固定尺寸,作为服务的一部分。
答案 1 :(得分:0)
您可以使用它来从网址
获取图片Image image = Toolkit.getDefaultToolkit().getDefaultToolkit().createImage(url);
这也可以起作用
Image image = ImageIO.read(url);