public class javax.swing.ImageIcon implements javax.swing.Icon, java.io.Serializable, javax.accessibility.Accessible
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: javax.swing.ImageIcon
super_class: java.lang.Object
{
private transient java.lang.String filename;
descriptor: Ljava/lang/String;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient java.net.URL location;
descriptor: Ljava/net/URL;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
transient java.awt.Image image;
descriptor: Ljava/awt/Image;
flags: (0x0080) ACC_TRANSIENT
transient int loadStatus;
descriptor: I
flags: (0x0080) ACC_TRANSIENT
java.awt.image.ImageObserver imageObserver;
descriptor: Ljava/awt/image/ImageObserver;
flags: (0x0000)
java.lang.String description;
descriptor: Ljava/lang/String;
flags: (0x0000)
protected static final java.awt.Component component;
descriptor: Ljava/awt/Component;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
RuntimeVisibleAnnotations:
java.lang.Deprecated()
protected static final java.awt.MediaTracker tracker;
descriptor: Ljava/awt/MediaTracker;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
RuntimeVisibleAnnotations:
java.lang.Deprecated()
private static int mediaTrackerID;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final java.lang.Object TRACKER_KEY;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
int width;
descriptor: I
flags: (0x0000)
int height;
descriptor: I
flags: (0x0000)
private javax.swing.ImageIcon$AccessibleImageIcon accessibleContext;
descriptor: Ljavax/swing/ImageIcon$AccessibleImageIcon;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new javax.swing.ImageIcon$1
dup
invokespecial javax.swing.ImageIcon$1.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.awt.Component
putstatic javax.swing.ImageIcon.component:Ljava/awt/Component;
1: new java.awt.MediaTracker
dup
getstatic javax.swing.ImageIcon.component:Ljava/awt/Component;
invokespecial java.awt.MediaTracker.<init>:(Ljava/awt/Component;)V
putstatic javax.swing.ImageIcon.tracker:Ljava/awt/MediaTracker;
2: new java.lang.StringBuilder
dup
ldc "TRACKER_KEY"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
putstatic javax.swing.ImageIcon.TRACKER_KEY:Ljava/lang/Object;
return
LocalVariableTable:
Start End Slot Name Signature
private static java.awt.Component createNoPermsComponent();
descriptor: ()Ljava/awt/Component;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=0, args_size=0
0: new javax.swing.ImageIcon$2
dup
invokespecial javax.swing.ImageIcon$2.<init>:()V
1: new java.security.AccessControlContext
dup
iconst_1
anewarray java.security.ProtectionDomain
dup
iconst_0
2: new java.security.ProtectionDomain
dup
aconst_null
aconst_null
invokespecial java.security.ProtectionDomain.<init>:(Ljava/security/CodeSource;Ljava/security/PermissionCollection;)V
aastore
3: invokespecial java.security.AccessControlContext.<init>:([Ljava/security/ProtectionDomain;)V
4: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
checkcast java.awt.Component
areturn
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield javax.swing.ImageIcon.loadStatus:I
2: aload 0
aconst_null
putfield javax.swing.ImageIcon.description:Ljava/lang/String;
3: aload 0
iconst_m1
putfield javax.swing.ImageIcon.width:I
4: aload 0
iconst_m1
putfield javax.swing.ImageIcon.height:I
5: aload 0
aconst_null
putfield javax.swing.ImageIcon.accessibleContext:Ljavax/swing/ImageIcon$AccessibleImageIcon;
6: aload 0
invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
aload 1
invokevirtual java.awt.Toolkit.getImage:(Ljava/lang/String;)Ljava/awt/Image;
putfield javax.swing.ImageIcon.image:Ljava/awt/Image;
7: aload 0
getfield javax.swing.ImageIcon.image:Ljava/awt/Image;
ifnonnull 9
8: return
9: StackMap locals: javax.swing.ImageIcon java.lang.String java.lang.String
StackMap stack:
aload 0
aload 1
putfield javax.swing.ImageIcon.filename:Ljava/lang/String;
10: aload 0
aload 2
putfield javax.swing.ImageIcon.description:Ljava/lang/String;
11: aload 0
aload 0
getfield javax.swing.ImageIcon.image:Ljava/awt/Image;
invokevirtual javax.swing.ImageIcon.loadImage:(Ljava/awt/Image;)V
12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljavax/swing/ImageIcon;
0 13 1 filename Ljava/lang/String;
0 13 2 description Ljava/lang/String;
MethodParameters:
Name Flags
filename
description
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokespecial javax.swing.ImageIcon.<init>:(Ljava/lang/String;Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavax/swing/ImageIcon;
0 2 1 filename Ljava/lang/String;
RuntimeVisibleAnnotations:
java.beans.ConstructorProperties(value = {"description"})
MethodParameters:
Name Flags
filename
public void <init>(java.net.URL, java.lang.String);
descriptor: (Ljava/net/URL;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield javax.swing.ImageIcon.loadStatus:I
2: aload 0
aconst_null
putfield javax.swing.ImageIcon.description:Ljava/lang/String;
3: aload 0
iconst_m1
putfield javax.swing.ImageIcon.width:I
4: aload 0
iconst_m1
putfield javax.swing.ImageIcon.height:I
5: aload 0
aconst_null
putfield javax.swing.ImageIcon.accessibleContext:Ljavax/swing/ImageIcon$AccessibleImageIcon;
6: aload 0
invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
aload 1
invokevirtual java.awt.Toolkit.getImage:(Ljava/net/URL;)Ljava/awt/Image;
putfield javax.swing.ImageIcon.image:Ljava/awt/Image;
7: aload 0
getfield javax.swing.ImageIcon.image:Ljava/awt/Image;
ifnonnull 9
8: return
9: StackMap locals: javax.swing.ImageIcon java.net.URL java.lang.String
StackMap stack:
aload 0
aload 1
putfield javax.swing.ImageIcon.location:Ljava/net/URL;
10: aload 0
aload 2
putfield javax.swing.ImageIcon.description:Ljava/lang/String;
11: aload 0
aload 0
getfield javax.swing.ImageIcon.image:Ljava/awt/Image;
invokevirtual javax.swing.ImageIcon.loadImage:(Ljava/awt/Image;)V
12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljavax/swing/ImageIcon;
0 13 1 location Ljava/net/URL;
0 13 2 description Ljava/lang/String;
MethodParameters:
Name Flags
location
description
public void <init>(java.net.URL);
descriptor: (Ljava/net/URL;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokevirtual java.net.URL.toExternalForm:()Ljava/lang/String;
invokespecial javax.swing.ImageIcon.<init>:(Ljava/net/URL;Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavax/swing/ImageIcon;
0 2 1 location Ljava/net/URL;
MethodParameters:
Name Flags
location
public void <init>(java.awt.Image, java.lang.String);
descriptor: (Ljava/awt/Image;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial javax.swing.ImageIcon.<init>:(Ljava/awt/Image;)V
1: aload 0
aload 2
putfield javax.swing.ImageIcon.description:Ljava/lang/String;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/swing/ImageIcon;
0 3 1 image Ljava/awt/Image;
0 3 2 description Ljava/lang/String;
MethodParameters:
Name Flags
image
description
public void <init>(java.awt.Image);
descriptor: (Ljava/awt/Image;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield javax.swing.ImageIcon.loadStatus:I
2: aload 0
aconst_null
putfield javax.swing.ImageIcon.description:Ljava/lang/String;
3: aload 0
iconst_m1
putfield javax.swing.ImageIcon.width:I
4: aload 0
iconst_m1
putfield javax.swing.ImageIcon.height:I
5: aload 0
aconst_null
putfield javax.swing.ImageIcon.accessibleContext:Ljavax/swing/ImageIcon$AccessibleImageIcon;
6: aload 0
aload 1
putfield javax.swing.ImageIcon.image:Ljava/awt/Image;
7: aload 1
ldc "comment"
aload 0
getfield javax.swing.ImageIcon.imageObserver:Ljava/awt/image/ImageObserver;
invokevirtual java.awt.Image.getProperty:(Ljava/lang/String;Ljava/awt/image/ImageObserver;)Ljava/lang/Object;
astore 2
start local 2 8: aload 2
instanceof java.lang.String
ifeq 10
9: aload 0
aload 2
checkcast java.lang.String
putfield javax.swing.ImageIcon.description:Ljava/lang/String;
10: StackMap locals: javax.swing.ImageIcon java.awt.Image java.lang.Object
StackMap stack:
aload 0
aload 1
invokevirtual javax.swing.ImageIcon.loadImage:(Ljava/awt/Image;)V
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljavax/swing/ImageIcon;
0 12 1 image Ljava/awt/Image;
8 12 2 o Ljava/lang/Object;
MethodParameters:
Name Flags
image
public void <init>(byte[], java.lang.String);
descriptor: ([BLjava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield javax.swing.ImageIcon.loadStatus:I
2: aload 0
aconst_null
putfield javax.swing.ImageIcon.description:Ljava/lang/String;
3: aload 0
iconst_m1
putfield javax.swing.ImageIcon.width:I
4: aload 0
iconst_m1
putfield javax.swing.ImageIcon.height:I
5: aload 0
aconst_null
putfield javax.swing.ImageIcon.accessibleContext:Ljavax/swing/ImageIcon$AccessibleImageIcon;
6: aload 0
invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
aload 1
invokevirtual java.awt.Toolkit.createImage:([B)Ljava/awt/Image;
putfield javax.swing.ImageIcon.image:Ljava/awt/Image;
7: aload 0
getfield javax.swing.ImageIcon.image:Ljava/awt/Image;
ifnonnull 9
8: return
9: StackMap locals: javax.swing.ImageIcon byte[] java.lang.String
StackMap stack:
aload 0
aload 2
putfield javax.swing.ImageIcon.description:Ljava/lang/String;
10: aload 0
aload 0
getfield javax.swing.ImageIcon.image:Ljava/awt/Image;
invokevirtual javax.swing.ImageIcon.loadImage:(Ljava/awt/Image;)V
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljavax/swing/ImageIcon;
0 12 1 imageData [B
0 12 2 description Ljava/lang/String;
MethodParameters:
Name Flags
imageData
description
public void <init>(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield javax.swing.ImageIcon.loadStatus:I
2: aload 0
aconst_null
putfield javax.swing.ImageIcon.description:Ljava/lang/String;
3: aload 0
iconst_m1
putfield javax.swing.ImageIcon.width:I
4: aload 0
iconst_m1
putfield javax.swing.ImageIcon.height:I
5: aload 0
aconst_null
putfield javax.swing.ImageIcon.accessibleContext:Ljavax/swing/ImageIcon$AccessibleImageIcon;
6: aload 0
invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
aload 1
invokevirtual java.awt.Toolkit.createImage:([B)Ljava/awt/Image;
putfield javax.swing.ImageIcon.image:Ljava/awt/Image;
7: aload 0
getfield javax.swing.ImageIcon.image:Ljava/awt/Image;
ifnonnull 9
8: return
9: StackMap locals: javax.swing.ImageIcon byte[]
StackMap stack:
aload 0
getfield javax.swing.ImageIcon.image:Ljava/awt/Image;
ldc "comment"
aload 0
getfield javax.swing.ImageIcon.imageObserver:Ljava/awt/image/ImageObserver;
invokevirtual java.awt.Image.getProperty:(Ljava/lang/String;Ljava/awt/image/ImageObserver;)Ljava/lang/Object;
astore 2
start local 2 10: aload 2
instanceof java.lang.String
ifeq 12
11: aload 0
aload 2
checkcast java.lang.String
putfield javax.swing.ImageIcon.description:Ljava/lang/String;
12: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 0
getfield javax.swing.ImageIcon.image:Ljava/awt/Image;
invokevirtual javax.swing.ImageIcon.loadImage:(Ljava/awt/Image;)V
13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljavax/swing/ImageIcon;
0 14 1 imageData [B
10 14 2 o Ljava/lang/Object;
MethodParameters:
Name Flags
imageData
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield javax.swing.ImageIcon.loadStatus:I
2: aload 0
aconst_null
putfield javax.swing.ImageIcon.description:Ljava/lang/String;
3: aload 0
iconst_m1
putfield javax.swing.ImageIcon.width:I
4: aload 0
iconst_m1
putfield javax.swing.ImageIcon.height:I
5: aload 0
aconst_null
putfield javax.swing.ImageIcon.accessibleContext:Ljavax/swing/ImageIcon$AccessibleImageIcon;
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavax/swing/ImageIcon;
protected void loadImage(java.awt.Image);
descriptor: (Ljava/awt/Image;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javax.swing.ImageIcon.getTracker:()Ljava/awt/MediaTracker;
astore 2
start local 2 1: aload 2
dup
astore 3
monitorenter
2: aload 0
invokevirtual javax.swing.ImageIcon.getNextID:()I
istore 4
start local 4 3: aload 2
aload 1
iload 4
invokevirtual java.awt.MediaTracker.addImage:(Ljava/awt/Image;I)V
4: aload 2
iload 4
lconst_0
invokevirtual java.awt.MediaTracker.waitForID:(IJ)Z
pop
5: goto 8
StackMap locals: javax.swing.ImageIcon java.awt.Image java.awt.MediaTracker java.awt.MediaTracker int
StackMap stack: java.lang.InterruptedException
6: pop
7: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "INTERRUPTED while loading Image"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
8: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 4
iconst_0
invokevirtual java.awt.MediaTracker.statusID:(IZ)I
putfield javax.swing.ImageIcon.loadStatus:I
9: aload 2
aload 1
iload 4
invokevirtual java.awt.MediaTracker.removeImage:(Ljava/awt/Image;I)V
10: aload 0
aload 1
aload 0
getfield javax.swing.ImageIcon.imageObserver:Ljava/awt/image/ImageObserver;
invokevirtual java.awt.Image.getWidth:(Ljava/awt/image/ImageObserver;)I
putfield javax.swing.ImageIcon.width:I
11: aload 0
aload 1
aload 0
getfield javax.swing.ImageIcon.imageObserver:Ljava/awt/image/ImageObserver;
invokevirtual java.awt.Image.getHeight:(Ljava/awt/image/ImageObserver;)I
putfield javax.swing.ImageIcon.height:I
end local 4 12: aload 3
monitorexit
13: goto 16
StackMap locals: javax.swing.ImageIcon java.awt.Image java.awt.MediaTracker java.awt.MediaTracker
StackMap stack: java.lang.Throwable
14: aload 3
monitorexit
15: athrow
16: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljavax/swing/ImageIcon;
0 17 1 image Ljava/awt/Image;
1 17 2 mTracker Ljava/awt/MediaTracker;
3 12 4 id I
Exception table:
from to target type
4 5 6 Class java.lang.InterruptedException
2 13 14 any
14 15 14 any
MethodParameters:
Name Flags
image
private int getNextID();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual javax.swing.ImageIcon.getTracker:()Ljava/awt/MediaTracker;
dup
astore 1
monitorenter
1: getstatic javax.swing.ImageIcon.mediaTrackerID:I
iconst_1
iadd
dup
putstatic javax.swing.ImageIcon.mediaTrackerID:I
aload 1
monitorexit
2: ireturn
3: StackMap locals: javax.swing.ImageIcon java.awt.MediaTracker
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavax/swing/ImageIcon;
Exception table:
from to target type
1 2 3 any
3 4 3 any
private java.awt.MediaTracker getTracker();
descriptor: ()Ljava/awt/MediaTracker;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=1
start local 0 0: invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
astore 2
start local 2 1: aload 2
dup
astore 3
monitorenter
2: aload 2
getstatic javax.swing.ImageIcon.TRACKER_KEY:Ljava/lang/Object;
invokevirtual sun.awt.AppContext.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 1
start local 1 3: aload 1
ifnonnull 7
4: new javax.swing.ImageIcon$3
dup
aload 0
invokespecial javax.swing.ImageIcon$3.<init>:(Ljavax/swing/ImageIcon;)V
astore 4
start local 4 5: new java.awt.MediaTracker
dup
aload 4
invokespecial java.awt.MediaTracker.<init>:(Ljava/awt/Component;)V
astore 1
6: aload 2
getstatic javax.swing.ImageIcon.TRACKER_KEY:Ljava/lang/Object;
aload 1
invokevirtual sun.awt.AppContext.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 7: StackMap locals: java.lang.Object sun.awt.AppContext sun.awt.AppContext
StackMap stack:
aload 3
monitorexit
8: goto 11
end local 1 StackMap locals: javax.swing.ImageIcon top sun.awt.AppContext sun.awt.AppContext
StackMap stack: java.lang.Throwable
9: aload 3
monitorexit
10: athrow
start local 1 11: StackMap locals: javax.swing.ImageIcon java.lang.Object sun.awt.AppContext
StackMap stack:
aload 1
checkcast java.awt.MediaTracker
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljavax/swing/ImageIcon;
3 9 1 trackerObj Ljava/lang/Object;
11 12 1 trackerObj Ljava/lang/Object;
1 12 2 ac Lsun/awt/AppContext;
5 7 4 comp Ljava/awt/Component;
Exception table:
from to target type
2 8 9 any
9 10 9 any
public int getImageLoadStatus();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.swing.ImageIcon.loadStatus:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/swing/ImageIcon;
public java.awt.Image getImage();
descriptor: ()Ljava/awt/Image;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.swing.ImageIcon.image:Ljava/awt/Image;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/swing/ImageIcon;
RuntimeVisibleAnnotations:
java.beans.Transient()
public void setImage(java.awt.Image);
descriptor: (Ljava/awt/Image;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield javax.swing.ImageIcon.image:Ljava/awt/Image;
1: aload 0
aload 1
invokevirtual javax.swing.ImageIcon.loadImage:(Ljava/awt/Image;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/swing/ImageIcon;
0 3 1 image Ljava/awt/Image;
MethodParameters:
Name Flags
image
public java.lang.String getDescription();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.swing.ImageIcon.description:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/swing/ImageIcon;
public void setDescription(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield javax.swing.ImageIcon.description:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavax/swing/ImageIcon;
0 2 1 description Ljava/lang/String;
MethodParameters:
Name Flags
description
public synchronized void paintIcon(java.awt.Component, java.awt.Graphics, int, int);
descriptor: (Ljava/awt/Component;Ljava/awt/Graphics;II)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield javax.swing.ImageIcon.imageObserver:Ljava/awt/image/ImageObserver;
ifnonnull 3
1: aload 2
aload 0
getfield javax.swing.ImageIcon.image:Ljava/awt/Image;
iload 3
iload 4
aload 1
invokevirtual java.awt.Graphics.drawImage:(Ljava/awt/Image;IILjava/awt/image/ImageObserver;)Z
pop
2: goto 4
3: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield javax.swing.ImageIcon.image:Ljava/awt/Image;
iload 3
iload 4
aload 0
getfield javax.swing.ImageIcon.imageObserver:Ljava/awt/image/ImageObserver;
invokevirtual java.awt.Graphics.drawImage:(Ljava/awt/Image;IILjava/awt/image/ImageObserver;)Z
pop
4: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavax/swing/ImageIcon;
0 5 1 c Ljava/awt/Component;
0 5 2 g Ljava/awt/Graphics;
0 5 3 x I
0 5 4 y I
MethodParameters:
Name Flags
c
g
x
y
public int getIconWidth();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.swing.ImageIcon.width:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/swing/ImageIcon;
public int getIconHeight();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.swing.ImageIcon.height:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/swing/ImageIcon;
public void setImageObserver(java.awt.image.ImageObserver);
descriptor: (Ljava/awt/image/ImageObserver;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield javax.swing.ImageIcon.imageObserver:Ljava/awt/image/ImageObserver;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavax/swing/ImageIcon;
0 2 1 observer Ljava/awt/image/ImageObserver;
MethodParameters:
Name Flags
observer
public java.awt.image.ImageObserver getImageObserver();
descriptor: ()Ljava/awt/image/ImageObserver;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.swing.ImageIcon.imageObserver:Ljava/awt/image/ImageObserver;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/swing/ImageIcon;
RuntimeVisibleAnnotations:
java.beans.Transient()
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.swing.ImageIcon.description:Ljava/lang/String;
ifnull 2
1: aload 0
getfield javax.swing.ImageIcon.description:Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokespecial java.lang.Object.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/swing/ImageIcon;
private void readObject(java.io.ObjectInputStream);
descriptor: (Ljava/io/ObjectInputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectInputStream.readFields:()Ljava/io/ObjectInputStream$GetField;
astore 2
start local 2 1: aload 0
aload 2
ldc "imageObserver"
aconst_null
invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.awt.image.ImageObserver
putfield javax.swing.ImageIcon.imageObserver:Ljava/awt/image/ImageObserver;
2: aload 0
aload 2
ldc "description"
aconst_null
invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
putfield javax.swing.ImageIcon.description:Ljava/lang/String;
3: aload 0
aload 2
ldc "width"
iconst_m1
invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;I)I
putfield javax.swing.ImageIcon.width:I
4: aload 0
aload 2
ldc "height"
iconst_m1
invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;I)I
putfield javax.swing.ImageIcon.height:I
5: aload 0
aload 2
ldc "accessibleContext"
aconst_null
invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.swing.ImageIcon$AccessibleImageIcon
putfield javax.swing.ImageIcon.accessibleContext:Ljavax/swing/ImageIcon$AccessibleImageIcon;
6: aload 1
invokevirtual java.io.ObjectInputStream.readInt:()I
istore 3
start local 3 7: aload 1
invokevirtual java.io.ObjectInputStream.readInt:()I
istore 4
start local 4 8: aload 1
invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
checkcast int[]
astore 5
start local 5 9: aload 5
ifnonnull 13
iload 3
iconst_m1
if_icmpne 10
iload 4
iconst_m1
if_icmpeq 13
10: StackMap locals: javax.swing.ImageIcon java.io.ObjectInputStream java.io.ObjectInputStream$GetField int int int[]
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Inconsistent width and height for null image ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 5
ifnull 17
iload 3
iflt 14
iload 4
ifge 17
14: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Inconsistent width and height for image ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
15: iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
iload 3
aload 0
invokevirtual javax.swing.ImageIcon.getIconWidth:()I
if_icmpne 18
iload 4
aload 0
invokevirtual javax.swing.ImageIcon.getIconHeight:()I
if_icmpeq 21
18: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Inconsistent width and height for image ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
19: iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals:
StackMap stack:
aload 5
ifnull 26
22: invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
astore 6
start local 6 23: invokestatic java.awt.image.ColorModel.getRGBdefault:()Ljava/awt/image/ColorModel;
astore 7
start local 7 24: aload 0
aload 6
new java.awt.image.MemoryImageSource
dup
iload 3
iload 4
aload 7
aload 5
iconst_0
iload 3
invokespecial java.awt.image.MemoryImageSource.<init>:(IILjava/awt/image/ColorModel;[III)V
invokevirtual java.awt.Toolkit.createImage:(Ljava/awt/image/ImageProducer;)Ljava/awt/Image;
putfield javax.swing.ImageIcon.image:Ljava/awt/Image;
25: aload 0
aload 0
getfield javax.swing.ImageIcon.image:Ljava/awt/Image;
invokevirtual javax.swing.ImageIcon.loadImage:(Ljava/awt/Image;)V
end local 7 end local 6 26: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Ljavax/swing/ImageIcon;
0 27 1 s Ljava/io/ObjectInputStream;
1 27 2 f Ljava/io/ObjectInputStream$GetField;
7 27 3 w I
8 27 4 h I
9 27 5 pixels [I
23 26 6 tk Ljava/awt/Toolkit;
24 26 7 cm Ljava/awt/image/ColorModel;
Exceptions:
throws java.lang.ClassNotFoundException, java.io.IOException
MethodParameters:
Name Flags
s
private void writeObject(java.io.ObjectOutputStream);
descriptor: (Ljava/io/ObjectOutputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
1: aload 0
invokevirtual javax.swing.ImageIcon.getIconWidth:()I
istore 2
start local 2 2: aload 0
invokevirtual javax.swing.ImageIcon.getIconHeight:()I
istore 3
start local 3 3: aload 0
getfield javax.swing.ImageIcon.image:Ljava/awt/Image;
ifnull 4
iload 2
iload 3
imul
newarray 10
goto 5
StackMap locals: int int
StackMap stack:
4: aconst_null
StackMap locals:
StackMap stack: int[]
5: astore 4
start local 4 6: aload 0
getfield javax.swing.ImageIcon.image:Ljava/awt/Image;
ifnull 13
7: new java.awt.image.PixelGrabber
dup
aload 0
getfield javax.swing.ImageIcon.image:Ljava/awt/Image;
iconst_0
iconst_0
iload 2
iload 3
aload 4
iconst_0
iload 2
invokespecial java.awt.image.PixelGrabber.<init>:(Ljava/awt/Image;IIII[III)V
astore 5
start local 5 8: aload 5
invokevirtual java.awt.image.PixelGrabber.grabPixels:()Z
pop
9: aload 5
invokevirtual java.awt.image.PixelGrabber.getStatus:()I
sipush 128
iand
ifeq 13
10: new java.io.IOException
dup
ldc "failed to load image contents"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 5 11: StackMap locals: javax.swing.ImageIcon java.io.ObjectOutputStream int int int[]
StackMap stack: java.lang.InterruptedException
pop
12: new java.io.IOException
dup
ldc "image load interrupted"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 1
iload 2
invokevirtual java.io.ObjectOutputStream.writeInt:(I)V
14: aload 1
iload 3
invokevirtual java.io.ObjectOutputStream.writeInt:(I)V
15: aload 1
aload 4
invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
16: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljavax/swing/ImageIcon;
0 17 1 s Ljava/io/ObjectOutputStream;
2 17 2 w I
3 17 3 h I
6 17 4 pixels [I
8 11 5 pg Ljava/awt/image/PixelGrabber;
Exception table:
from to target type
7 11 11 Class java.lang.InterruptedException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
public javax.accessibility.AccessibleContext getAccessibleContext();
descriptor: ()Ljavax/accessibility/AccessibleContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.swing.ImageIcon.accessibleContext:Ljavax/swing/ImageIcon$AccessibleImageIcon;
ifnonnull 2
1: aload 0
new javax.swing.ImageIcon$AccessibleImageIcon
dup
aload 0
invokespecial javax.swing.ImageIcon$AccessibleImageIcon.<init>:(Ljavax/swing/ImageIcon;)V
putfield javax.swing.ImageIcon.accessibleContext:Ljavax/swing/ImageIcon$AccessibleImageIcon;
2: StackMap locals:
StackMap stack:
aload 0
getfield javax.swing.ImageIcon.accessibleContext:Ljavax/swing/ImageIcon$AccessibleImageIcon;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/swing/ImageIcon;
RuntimeVisibleAnnotations:
java.beans.BeanProperty(expert = true, description = "The AccessibleContext associated with this ImageIcon.")
}
SourceFile: "ImageIcon.java"
NestMembers:
javax.swing.ImageIcon$1 javax.swing.ImageIcon$2 javax.swing.ImageIcon$2$1 javax.swing.ImageIcon$3 javax.swing.ImageIcon$AccessibleImageIcon
InnerClasses:
public abstract GetField = java.io.ObjectInputStream$GetField of java.io.ObjectInputStream
javax.swing.ImageIcon$1
javax.swing.ImageIcon$2
javax.swing.ImageIcon$3
protected AccessibleImageIcon = javax.swing.ImageIcon$AccessibleImageIcon of javax.swing.ImageIcon