2012-06-25 16 views
9

Herkes bana noob yolunda ne gibi bir fark olduğunu açıklayabilir ImageIcon ve Resim Java'daki sınıflar/nesneler? TeşekkürlerJava: ImageIcon vs. Görüntü farkı

+1

Bu ev ödevi mi? Bu soruyu cevaplamak için gereken her şey javadocs'ta belgelenmelidir. – user1329572

+13

Hayır, ev ödevi değildir. Java ile ilgili diğer sorularımın büyük çoğunluğu gibi bu soru için, bilgi javadocs içinde bulunabilir. Ama javadocs'dan her şeyi anlayabilseydim, bu konuyla ilgili herhangi bir kitaba, foruma veya google'a hatta internete ihtiyacım olmazdı. –

cevap

8

Doğaları ve uygulamaları farklıdır. Image grafiksel görüntüleri temsil eden tüm sınıfların soyut bir süper sınıfıdır. ImageIcon, kaynağı olarak Image kullanan Icon arabiriminin bir uygulamasıdır.

Düzenleme: render edilebilir bir şey olarak bir Image ve paintIcon() yöntemi çağrıldığında bir Icon olarak görüntülenecek bir şey olarak bir ImageIcon düşünün.

Düzenleme: Yukarıdaki bağlantılar sizi JDK 6 API'sine götürür. Bu bağlantılar sizi JDK 8 api: Image ve ImageIcon'a götürecektir.

+0

Tamamen “ImageIcon” nesnesinin altında yatan bir “Image” nesnesi var ve bu görüntüyü işlemek için yöntemlerle ekstra bir katman sağlıyor mu? Ayrıca, 'Simge' temelde görüntüye sahip olmak için (örneğin bir etiket veya dikdörtgen), çeşitli şekillerde uygulanabilir. Yoksa yanılıyor muyum? Sadece tam olarak anlayamıyorum, eğer ikon sadece küçük bir resim ise, bunun için neden iki farklı sınıf var. –

+2

@LeNoob 'Simge' genellikle bileşenleri (etiketler, düğmeler, vb.) Süslemek için kullanılır, yani bunlar bir şey üzerine boyanır. Diğer taraftan 'Image' sadece görüntülenmek için değil, üzerine çizmek için kullanılabilir. Bazı örnekler için [Images] (http://docs.oracle.com/javase/tutorial/2d/overview/images.html) eğitimine bir göz atın. [Simgeler Nasıl Kullanılır] (http://docs.oracle.com/javase/tutorial/uiswing/components/icon.html) de yararlı olabilir. – tenorsax

1

Görüntüyü ölçeklendirebilir ve kaydedebilirsiniz, ancak bunu ImageIcon ile yapamazsınız. GUI'nizde resim oluşturmak için genellikle ImageIcon'u kullanmanız gerekir, ancak bunu yapmak istemiyorsanız, Görüntü daha iyi olmalıdır.

+0

Ama eğer ImageIcon'un altında yatan bir imaj varsa, nasıl kaydedemiyorum ve ölçeklendiremiyorum? –