src/java.desktop/windows/classes/sun/awt/windows/WTrayIconPeer.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
--- 1,7 ----
/*
! * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
*** 32,41 ****
--- 32,43 ----
import java.awt.Point;
import java.awt.TrayIcon;
import java.awt.Image;
import java.awt.peer.TrayIconPeer;
import java.awt.image.*;
+
+ import sun.awt.AWTAccessor;
import sun.awt.SunToolkit;
import sun.awt.image.IntegerComponentRaster;
final class WTrayIconPeer extends WObjectPeer implements TrayIconPeer {
final static int TRAY_ICON_WIDTH = 16;
*** 78,91 ****
@Override
public synchronized void showPopupMenu(final int x, final int y) {
if (isDisposed())
return;
! SunToolkit.executeOnEventHandlerThread(target, new Runnable() {
! @Override
! @SuppressWarnings("deprecation")
! public void run() {
PopupMenu newPopup = ((TrayIcon)target).getPopupMenu();
if (popup != newPopup) {
if (popup != null) {
popupParent.remove(popup);
}
--- 80,90 ----
@Override
public synchronized void showPopupMenu(final int x, final int y) {
if (isDisposed())
return;
! SunToolkit.executeOnEventHandlerThread(target, () -> {
PopupMenu newPopup = ((TrayIcon)target).getPopupMenu();
if (popup != newPopup) {
if (popup != null) {
popupParent.remove(popup);
}
*** 93,104 ****
popupParent.add(newPopup);
}
popup = newPopup;
}
if (popup != null) {
! ((WPopupMenuPeer)popup.getPeer()).show(popupParent, new Point(x, y));
! }
}
});
}
@Override
--- 92,104 ----
popupParent.add(newPopup);
}
popup = newPopup;
}
if (popup != null) {
! WPopupMenuPeer peer = AWTAccessor.getMenuComponentAccessor()
! .getPeer(popup);
! peer.show(popupParent, new Point(x, y));
}
});
}
@Override