3

画像の URL を持つ文字列から新しい Image インスタンスを作成する必要があります。
http://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png

このタイプの URL は JSONParser から取得され、それらを使用して複数ボタン リストのアイコンを設定したいと考えています。

この Model クラスの次のgetItemAtメソッドを使用して、複数ボタン リストにデータを配置します。各マルチボタンには、アイコンといくつかの線があります。Line1 をname、Line2 をratingと名付けました。文字列 url から画像を作成して、 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;
    }
4

2 に答える 2

3

画像を非同期にダウンロードする which を使用ImageDownloadService.createImageToStorageして、適切な場所にあるリストのハッシュテーブルに配置します。リストを更新し、再度要求された場合に備えて、ストレージに画像をキャッシュします。

サービスの一部として、画像を固定サイズにスケーリングすることもできます。

于 2012-10-20T08:07:49.580 に答える
0

これを使用して、URL から画像を取得できます

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

これも機能する可能性があります

Image image = ImageIO.read(url); 
于 2012-10-19T19:44:15.400 に答える