]>
Commit | Line | Data |
---|---|---|
7bde45b2 | 1 | /* ImageIcon.java -- |
880fa238 | 2 | Copyright (C) 2002, 2004 Free Software Foundation, Inc. |
7bde45b2 BM |
3 | |
4 | This file is part of GNU Classpath. | |
5 | ||
6 | GNU Classpath is free software; you can redistribute it and/or modify | |
7 | it under the terms of the GNU General Public License as published by | |
8 | the Free Software Foundation; either version 2, or (at your option) | |
9 | any later version. | |
10 | ||
11 | GNU Classpath is distributed in the hope that it will be useful, but | |
12 | WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
14 | General Public License for more details. | |
15 | ||
16 | You should have received a copy of the GNU General Public License | |
17 | along with GNU Classpath; see the file COPYING. If not, write to the | |
18 | Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA | |
19 | 02111-1307 USA. | |
20 | ||
21 | Linking this library statically or dynamically with other modules is | |
22 | making a combined work based on this library. Thus, the terms and | |
23 | conditions of the GNU General Public License cover the whole | |
24 | combination. | |
25 | ||
26 | As a special exception, the copyright holders of this library give you | |
27 | permission to link this library with independent modules to produce an | |
28 | executable, regardless of the license terms of these independent | |
29 | modules, and to copy and distribute the resulting executable under | |
30 | terms of your choice, provided that you also meet, for each linked | |
31 | independent module, the terms and conditions of the license of that | |
32 | module. An independent module is a module which is not derived from | |
33 | or based on this library. If you modify this library, you may extend | |
34 | this exception to your version of the library, but you are not | |
35 | obligated to do so. If you do not wish to do so, delete this | |
36 | exception statement from your version. */ | |
37 | ||
d6c2458f | 38 | package javax.swing; |
7bde45b2 | 39 | |
d6c2458f MK |
40 | import java.awt.Component; |
41 | import java.awt.Graphics; | |
42 | import java.awt.Image; | |
d6c2458f | 43 | import java.awt.Toolkit; |
8e99fb4f | 44 | import java.awt.image.ImageObserver; |
4dfcdad1 GH |
45 | import java.io.Serializable; |
46 | import java.net.URL; | |
47 | ||
7bde45b2 | 48 | |
4dfcdad1 GH |
49 | public class ImageIcon |
50 | implements Icon, Serializable | |
7bde45b2 | 51 | { |
4dfcdad1 GH |
52 | private static final long serialVersionUID = 532615968316031794L; |
53 | Image image; | |
8e99fb4f GH |
54 | String description; |
55 | ImageObserver observer; | |
7bde45b2 | 56 | |
8e99fb4f | 57 | public ImageIcon() |
4dfcdad1 | 58 | { |
4dfcdad1 GH |
59 | } |
60 | ||
8e99fb4f GH |
61 | public ImageIcon(String file) |
62 | { | |
63 | this(file, file); | |
64 | } | |
65 | ||
66 | public ImageIcon(String file, String description) | |
67 | { | |
68 | this(Toolkit.getDefaultToolkit().getImage(file), description); | |
69 | } | |
70 | ||
71 | public ImageIcon(byte[] imageData) | |
72 | { | |
73 | this(imageData, null); | |
74 | } | |
75 | ||
76 | public ImageIcon(byte[] imageData, String description) | |
4dfcdad1 | 77 | { |
8e99fb4f | 78 | this(Toolkit.getDefaultToolkit().createImage(imageData), description); |
4dfcdad1 GH |
79 | } |
80 | ||
81 | public ImageIcon(URL url) | |
82 | { | |
8e99fb4f | 83 | this(url, null); |
4dfcdad1 GH |
84 | } |
85 | ||
8e99fb4f | 86 | public ImageIcon(URL url, String description) |
4dfcdad1 | 87 | { |
8e99fb4f GH |
88 | this(Toolkit.getDefaultToolkit().getImage(url), description); |
89 | } | |
90 | ||
91 | public ImageIcon(Image image) | |
92 | { | |
93 | this(image, null); | |
94 | } | |
4dfcdad1 | 95 | |
8e99fb4f GH |
96 | public ImageIcon(Image image, String description) |
97 | { | |
98 | this.image = Toolkit.getDefaultToolkit().createImage(image.getSource()); | |
99 | this.description = description; | |
100 | } | |
4dfcdad1 | 101 | |
8e99fb4f GH |
102 | public ImageObserver getImageObserver() |
103 | { | |
104 | return observer; | |
4dfcdad1 GH |
105 | } |
106 | ||
8e99fb4f | 107 | public void setImageObserver(ImageObserver newObserver) |
4dfcdad1 | 108 | { |
8e99fb4f | 109 | observer = newObserver; |
4dfcdad1 GH |
110 | } |
111 | ||
112 | public Image getImage() | |
113 | { | |
114 | return image; | |
115 | } | |
116 | ||
117 | public String getDescription() | |
118 | { | |
8e99fb4f | 119 | return description; |
4dfcdad1 GH |
120 | } |
121 | ||
122 | public void setDescription(String description) | |
123 | { | |
8e99fb4f | 124 | this.description = description; |
4dfcdad1 GH |
125 | } |
126 | ||
127 | public int getIconHeight() | |
128 | { | |
129 | return image.getHeight(observer); | |
130 | } | |
131 | ||
132 | public int getIconWidth() | |
133 | { | |
134 | return image.getWidth(observer); | |
135 | } | |
136 | ||
137 | public void paintIcon(Component c, Graphics g, int x, int y) | |
138 | { | |
8e99fb4f | 139 | g.drawImage(image, x, y, observer != null ? observer : c); |
4dfcdad1 | 140 | } |
7bde45b2 | 141 | } |