public class sun.awt.windows.WTrayIconPeer extends sun.awt.windows.WObjectPeer implements java.awt.peer.TrayIconPeer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.awt.windows.WTrayIconPeer
super_class: sun.awt.windows.WObjectPeer
{
static final int TRAY_ICON_WIDTH;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 16
static final int TRAY_ICON_HEIGHT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 16
static final int TRAY_ICON_MASK_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 32
sun.awt.windows.WTrayIconPeer$IconObserver observer;
descriptor: Lsun/awt/windows/WTrayIconPeer$IconObserver;
flags: (0x0000)
boolean firstUpdate;
descriptor: Z
flags: (0x0000)
java.awt.Frame ;
descriptor: Ljava/awt/Frame;
flags: (0x0000)
java.awt.PopupMenu ;
descriptor: Ljava/awt/PopupMenu;
flags: (0x0000)
protected void disposeImpl();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.windows.WTrayIconPeer.popupParent:Ljava/awt/Frame;
ifnull 2
1: aload 0
getfield sun.awt.windows.WTrayIconPeer.popupParent:Ljava/awt/Frame;
invokevirtual java.awt.Frame.dispose:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.windows.WTrayIconPeer.popupParent:Ljava/awt/Frame;
invokevirtual java.awt.Frame.dispose:()V
3: aload 0
invokevirtual sun.awt.windows.WTrayIconPeer._dispose:()V
4: aload 0
getfield sun.awt.windows.WTrayIconPeer.target:Ljava/lang/Object;
aload 0
invokestatic sun.awt.windows.WToolkit.targetDisposedPeer:(Ljava/lang/Object;Ljava/lang/Object;)V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/awt/windows/WTrayIconPeer;
void <init>(java.awt.TrayIcon);
descriptor: (Ljava/awt/TrayIcon;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial sun.awt.windows.WObjectPeer.<init>:()V
1: aload 0
new sun.awt.windows.WTrayIconPeer$IconObserver
dup
aload 0
invokespecial sun.awt.windows.WTrayIconPeer$IconObserver.<init>:(Lsun/awt/windows/WTrayIconPeer;)V
putfield sun.awt.windows.WTrayIconPeer.observer:Lsun/awt/windows/WTrayIconPeer$IconObserver;
2: aload 0
iconst_1
putfield sun.awt.windows.WTrayIconPeer.firstUpdate:Z
3: aload 0
new java.awt.Frame
dup
ldc "PopupMessageWindow"
invokespecial java.awt.Frame.<init>:(Ljava/lang/String;)V
putfield sun.awt.windows.WTrayIconPeer.popupParent:Ljava/awt/Frame;
4: aload 0
aload 1
putfield sun.awt.windows.WTrayIconPeer.target:Ljava/lang/Object;
5: aload 0
getfield sun.awt.windows.WTrayIconPeer.popupParent:Ljava/awt/Frame;
invokevirtual java.awt.Frame.addNotify:()V
6: aload 0
invokevirtual sun.awt.windows.WTrayIconPeer.create:()V
7: aload 0
invokevirtual sun.awt.windows.WTrayIconPeer.updateImage:()V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/awt/windows/WTrayIconPeer;
0 9 1 target Ljava/awt/TrayIcon;
MethodParameters:
Name Flags
target
public void updateImage();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.awt.windows.WTrayIconPeer.target:Ljava/lang/Object;
checkcast java.awt.TrayIcon
invokevirtual java.awt.TrayIcon.getImage:()Ljava/awt/Image;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 0
aload 1
invokevirtual sun.awt.windows.WTrayIconPeer.updateNativeImage:(Ljava/awt/Image;)V
3: StackMap locals: java.awt.Image
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/awt/windows/WTrayIconPeer;
1 4 1 image Ljava/awt/Image;
public native void setToolTip(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
tooltip
public synchronized void (int, int);
descriptor: (II)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual sun.awt.windows.WTrayIconPeer.isDisposed:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.windows.WTrayIconPeer.target:Ljava/lang/Object;
new sun.awt.windows.WTrayIconPeer$1
dup
aload 0
iload 1
iload 2
invokespecial sun.awt.windows.WTrayIconPeer$1.<init>:(Lsun/awt/windows/WTrayIconPeer;II)V
invokestatic sun.awt.SunToolkit.executeOnEventHandlerThread:(Ljava/lang/Object;Ljava/lang/Runnable;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/awt/windows/WTrayIconPeer;
0 4 1 x I
0 4 2 y I
MethodParameters:
Name Flags
x final
y final
public void displayMessage(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: ldc ""
astore 1
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
3: ldc ""
astore 2
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokevirtual sun.awt.windows.WTrayIconPeer._displayMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/awt/windows/WTrayIconPeer;
0 6 1 caption Ljava/lang/String;
0 6 2 text Ljava/lang/String;
0 6 3 messageType Ljava/lang/String;
MethodParameters:
Name Flags
caption
text
messageType
synchronized void updateNativeImage(java.awt.Image);
descriptor: (Ljava/awt/Image;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.awt.windows.WTrayIconPeer.isDisposed:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.windows.WTrayIconPeer.target:Ljava/lang/Object;
checkcast java.awt.TrayIcon
invokevirtual java.awt.TrayIcon.isImageAutoSize:()Z
istore 2
start local 2 3: new java.awt.image.BufferedImage
dup
bipush 16
bipush 16
4: iconst_2
5: invokespecial java.awt.image.BufferedImage.<init>:(III)V
astore 3
start local 3 6: aload 3
invokevirtual java.awt.image.BufferedImage.createGraphics:()Ljava/awt/Graphics2D;
astore 4
start local 4 7: aload 4
ifnull 25
8: aload 4
invokevirtual java.awt.Graphics2D.setPaintMode:()V
9: aload 4
aload 1
iconst_0
iconst_0
iload 2
ifeq 10
bipush 16
goto 11
StackMap locals: sun.awt.windows.WTrayIconPeer java.awt.Image int java.awt.image.BufferedImage java.awt.Graphics2D
StackMap stack: java.awt.Graphics2D java.awt.Image int int
10: aload 1
aload 0
getfield sun.awt.windows.WTrayIconPeer.observer:Lsun/awt/windows/WTrayIconPeer$IconObserver;
invokevirtual java.awt.Image.getWidth:(Ljava/awt/image/ImageObserver;)I
11: StackMap locals: sun.awt.windows.WTrayIconPeer java.awt.Image int java.awt.image.BufferedImage java.awt.Graphics2D
StackMap stack: java.awt.Graphics2D java.awt.Image int int int
iload 2
ifeq 12
bipush 16
goto 13
StackMap locals: sun.awt.windows.WTrayIconPeer java.awt.Image int java.awt.image.BufferedImage java.awt.Graphics2D
StackMap stack: java.awt.Graphics2D java.awt.Image int int int
12: aload 1
aload 0
getfield sun.awt.windows.WTrayIconPeer.observer:Lsun/awt/windows/WTrayIconPeer$IconObserver;
invokevirtual java.awt.Image.getHeight:(Ljava/awt/image/ImageObserver;)I
StackMap locals: sun.awt.windows.WTrayIconPeer java.awt.Image int java.awt.image.BufferedImage java.awt.Graphics2D
StackMap stack: java.awt.Graphics2D java.awt.Image int int int int
13: aload 0
getfield sun.awt.windows.WTrayIconPeer.observer:Lsun/awt/windows/WTrayIconPeer$IconObserver;
14: invokevirtual java.awt.Graphics2D.drawImage:(Ljava/awt/Image;IIIILjava/awt/image/ImageObserver;)Z
pop
15: aload 0
aload 3
invokevirtual sun.awt.windows.WTrayIconPeer.createNativeImage:(Ljava/awt/image/BufferedImage;)V
16: aload 0
aload 0
getfield sun.awt.windows.WTrayIconPeer.firstUpdate:Z
ifeq 17
iconst_0
goto 18
StackMap locals:
StackMap stack: sun.awt.windows.WTrayIconPeer
17: iconst_1
StackMap locals: sun.awt.windows.WTrayIconPeer java.awt.Image int java.awt.image.BufferedImage java.awt.Graphics2D
StackMap stack: sun.awt.windows.WTrayIconPeer int
18: invokevirtual sun.awt.windows.WTrayIconPeer.updateNativeIcon:(Z)V
19: aload 0
getfield sun.awt.windows.WTrayIconPeer.firstUpdate:Z
ifeq 24
aload 0
iconst_0
putfield sun.awt.windows.WTrayIconPeer.firstUpdate:Z
20: goto 24
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 5
22: aload 4
invokevirtual java.awt.Graphics2D.dispose:()V
23: aload 5
athrow
24: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.awt.Graphics2D.dispose:()V
25: 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 26 0 this Lsun/awt/windows/WTrayIconPeer;
0 26 1 image Ljava/awt/Image;
3 26 2 autosize Z
6 26 3 bufImage Ljava/awt/image/BufferedImage;
7 26 4 gr Ljava/awt/Graphics2D;
Exception table:
from to target type
8 21 21 any
MethodParameters:
Name Flags
image
void createNativeImage(java.awt.image.BufferedImage);
descriptor: (Ljava/awt/image/BufferedImage;)V
flags: (0x0000)
Code:
stack=6, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
astore 2
start local 2 1: bipush 32
newarray 8
astore 3
start local 3 2: aload 2
invokevirtual java.awt.image.Raster.getDataBuffer:()Ljava/awt/image/DataBuffer;
checkcast java.awt.image.DataBufferInt
invokevirtual java.awt.image.DataBufferInt.getData:()[I
astore 4
start local 4 3: aload 4
arraylength
istore 5
start local 5 4: aload 2
invokevirtual java.awt.image.Raster.getWidth:()I
istore 6
start local 6 5: iconst_0
istore 7
start local 7 6: goto 13
7: StackMap locals: sun.awt.windows.WTrayIconPeer java.awt.image.BufferedImage java.awt.image.Raster byte[] int[] int int int
StackMap stack:
iload 7
bipush 8
idiv
istore 8
start local 8 8: iconst_1
bipush 7
iload 7
bipush 8
irem
isub
ishl
istore 9
start local 9 9: aload 4
iload 7
iaload
ldc -16777216
iand
ifne 12
10: iload 8
aload 3
arraylength
if_icmpge 12
11: aload 3
iload 8
dup2
baload
iload 9
ior
i2b
bastore
end local 9 end local 8 12: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
13: iload 7
iload 5
if_icmplt 7
end local 7 14: aload 2
instanceof sun.awt.image.IntegerComponentRaster
ifeq 16
15: aload 2
checkcast sun.awt.image.IntegerComponentRaster
invokevirtual sun.awt.image.IntegerComponentRaster.getScanlineStride:()I
istore 6
16: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
invokevirtual java.awt.image.WritableRaster.getDataBuffer:()Ljava/awt/image/DataBuffer;
checkcast java.awt.image.DataBufferInt
invokevirtual java.awt.image.DataBufferInt.getData:()[I
17: aload 3
iload 6
aload 2
invokevirtual java.awt.image.Raster.getWidth:()I
aload 2
invokevirtual java.awt.image.Raster.getHeight:()I
18: invokevirtual sun.awt.windows.WTrayIconPeer.setNativeIcon:([I[BIII)V
19: return
end local 6 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 20 0 this Lsun/awt/windows/WTrayIconPeer;
0 20 1 bimage Ljava/awt/image/BufferedImage;
1 20 2 raster Ljava/awt/image/Raster;
2 20 3 andMask [B
3 20 4 pixels [I
4 20 5 npixels I
5 20 6 ficW I
6 14 7 i I
8 12 8 ibyte I
9 12 9 omask I
MethodParameters:
Name Flags
bimage
void postEvent(java.awt.AWTEvent);
descriptor: (Ljava/awt/AWTEvent;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.awt.windows.WTrayIconPeer.target:Ljava/lang/Object;
invokestatic sun.awt.windows.WToolkit.targetToAppContext:(Ljava/lang/Object;)Lsun/awt/AppContext;
aload 1
invokestatic sun.awt.windows.WToolkit.postEvent:(Lsun/awt/AppContext;Ljava/awt/AWTEvent;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/awt/windows/WTrayIconPeer;
0 2 1 event Ljava/awt/AWTEvent;
MethodParameters:
Name Flags
event
native void create();
descriptor: ()V
flags: (0x0100) ACC_NATIVE
synchronized native void _dispose();
descriptor: ()V
flags: (0x0120) ACC_SYNCHRONIZED, ACC_NATIVE
native void updateNativeIcon(boolean);
descriptor: (Z)V
flags: (0x0100) ACC_NATIVE
MethodParameters:
Name Flags
doUpdate
native void setNativeIcon(int[], byte[], int, int, int);
descriptor: ([I[BIII)V
flags: (0x0100) ACC_NATIVE
MethodParameters:
Name Flags
rData
andMask
nScanStride
width
height
native void _displayMessage(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0100) ACC_NATIVE
MethodParameters:
Name Flags
caption
text
messageType
public long getData();
descriptor: ()J
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
0: aload 0
invokespecial sun.awt.windows.WObjectPeer.getData:()J
lreturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object getTarget();
descriptor: ()Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial sun.awt.windows.WObjectPeer.getTarget:()Ljava/lang/Object;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "WTrayIconPeer.java"
NestMembers:
sun.awt.windows.WTrayIconPeer$1 sun.awt.windows.WTrayIconPeer$IconObserver
InnerClasses:
sun.awt.windows.WTrayIconPeer$1
IconObserver = sun.awt.windows.WTrayIconPeer$IconObserver of sun.awt.windows.WTrayIconPeer