2012-06-25 11 views
9

Könnte mir jemand auf Noob Art erklären, was der Unterschied zwischen ImageIcon und Image Klassen/Objekte in Java ist? DankeJava: ImageIcon vs. Bild Unterschied

+1

Sind das Hausaufgaben? Alles, was zur Beantwortung dieser Frage benötigt wird, sollte in den Javadocs dokumentiert werden. – user1329572

+13

Nein, es ist keine Hausaufgabe. Für diese Frage wie für die große Mehrheit meiner anderen Fragen zu Java, finden Sie die Informationen in Javadocs. Aber wenn ich alles von Javadocs verstehen könnte, würde ich keine Bücher, Foren oder Google oder sogar Internet für diese Angelegenheit brauchen. –

Antwort

8

Ihre Art und Anwendung ist anders. Image ist eine abstrakte Oberklasse aller Klassen, die grafische Bilder darstellen. ImageIcon ist eine Implementierung der Schnittstelle Icon, die Image als Quelle verwendet.

Edit: Denken Sie an eine Image als etwas, das gemacht werden könnte und eine ImageIcon als etwas, das wird als Icon gemacht werden, wenn seine paintIcon() Methode aufgerufen wird.

Edit: Die obigen Links bringen Sie zum JDK 6 api. Diese Links führen Sie zum JDK 8 api: Image und ImageIcon.

+0

Ok, 'ImageIcon' Objekt hat ein zugrunde liegendes' Image' Objekt und bietet eine zusätzliche Ebene mit Methoden um dieses Bild zu manipulieren? Außerdem kann "Icon" auf verschiedene Arten implementiert werden und muss nicht unbedingt das darunter liegende Bild haben (z. B. ein Etikett oder ein Rechteck). Oder liege ich falsch? Ich verstehe nur nicht ganz, wenn das Symbol nur ein kleines Bild ist, warum zwei verschiedene Klassen dafür haben. –

+2

@LeNoob 'Icon' wird normalerweise verwendet, um Komponenten (Etiketten, Knöpfe usw.) zu dekorieren, d. H. Sie sind auf etwas gemalt. 'Image' hingegen dient nicht nur zum Anzeigen, sondern auch zum Zeichnen. Sehen Sie sich das [Bilder] (http://docs.oracle.com/javase/tutorial/2d/overview/images.html) Tutorial für einige Beispiele an. [Wie man Icons verwendet] (http://docs.oracle.com/javase/tutorial/uiswing/components/icon.html) kann ebenfalls nützlich sein. – tenorsax

1

Sie können Bild skalieren und speichern, aber nicht mit ImageIcon. Zum Erstellen von Bildern in Ihrer GUI müssen Sie normalerweise ImageIcon verwenden, aber wenn Sie das nicht möchten, sollte Image besser sein.

+0

Aber wenn 'ImageIcon' ein zugrundeliegendes Bild hat, wie kann ich es nicht speichern und skalieren? –