2012-06-25 32 views
9

Bất cứ ai có thể giải thích cho tôi theo cách noob sự khác biệt nào là betweeen ImageIconHình ảnh lớp/đối tượng trong Java? Cảm ơnJava: ImageIcon so với hình ảnh khác biệt

+1

Đây có phải là bài tập về nhà không? Tất cả mọi thứ cần thiết để trả lời câu hỏi này nên được ghi lại trong javadocs. – user1329572

+13

Không, đó không phải là bài tập về nhà. Đối với câu hỏi này giống như phần lớn các câu hỏi khác của tôi liên quan đến Java, thông tin có thể được tìm thấy trong javadocs. Nhưng nếu tôi có thể hiểu tất cả mọi thứ từ javadocs tôi sẽ không cần bất kỳ cuốn sách, diễn đàn, hoặc google hoặc thậm chí internet cho rằng vấn đề. –

Trả lời

8

Bản chất và ứng dụng của chúng khác nhau. Image là một lớp cha trừu tượng của tất cả các lớp đại diện cho hình ảnh đồ họa. ImageIcon là việc triển khai giao diện Icon sử dụng nguồn của nó Image.

Chỉnh sửa: Hãy suy nghĩ của một Image như cái gì đó thể được trả lại và một ImageIcon như cái gì đó sẽ được trả lại như một Icon khi phương pháp paintIcon() của nó được gọi.

Chỉnh sửa: Các liên kết ở trên sẽ đưa bạn đến JDK 6 api. Các liên kết này sẽ đưa bạn đến JDK 8 api: ImageImageIcon.

+0

Ok vậy đối tượng 'ImageIcon' có một đối tượng' Hình ảnh' cơ bản và cung cấp thêm một lớp với các phương thức để thao tác hình ảnh này? Ngoài ra, 'Biểu tượng' có thể được thực hiện theo nhiều cách và không nhất thiết phải có hình ảnh cơ bản (ví dụ như vẽ nhãn hoặc hình chữ nhật). Hoặc là tôi sai? Tôi không hiểu hết, nếu biểu tượng chỉ là một hình ảnh nhỏ, tại sao lại có hai lớp khác nhau cho điều đó. –

+2

@LeNoob 'Biểu tượng' thường được sử dụng để trang trí các thành phần (nhãn, nút, v.v.), tức là chúng được vẽ lên thứ gì đó. 'Hình ảnh', mặt khác, không chỉ để hiển thị, nó có thể được sử dụng để vẽ lên nó. Hãy xem hướng dẫn về [Images] (http://docs.oracle.com/javase/tutorial/2d/overview/images.html) để biết một số ví dụ. [Cách sử dụng biểu tượng] (http://docs.oracle.com/javase/tutorial/uiswing/components/icon.html) cũng có thể hữu ích. – tenorsax

1

Bạn có thể chia tỷ lệ và lưu hình ảnh, nhưng bạn không thể làm điều đó với ImageIcon. Để tạo hình ảnh trong GUI của bạn, bạn thường phải sử dụng ImageIcon, nhưng nếu bạn không muốn làm điều đó, Hình ảnh sẽ tốt hơn.

+0

Nhưng nếu 'ImageIcon' có hình ảnh cơ bản, làm sao tôi không thể lưu nó và mở rộng nó? –

Các vấn đề liên quan