--- old/src/java.desktop/share/classes/javax/print/ServiceUI.java 2016-01-20 16:32:15.127644500 +0530 +++ new/src/java.desktop/share/classes/javax/print/ServiceUI.java 2016-01-20 16:32:14.596577000 +0530 @@ -185,26 +185,25 @@ defaultIndex = 0; } - // For now we set owner to null. In the future, it may be passed - // as an argument. - Window owner = null; + Window owner = KeyboardFocusManager.getCurrentKeyboardFocusManager().getActiveWindow(); Rectangle gcBounds = (gc == null) ? GraphicsEnvironment. getLocalGraphicsEnvironment().getDefaultScreenDevice(). getDefaultConfiguration().getBounds() : gc.getBounds(); ServiceDialog dialog; + if (owner instanceof Frame) { dialog = new ServiceDialog(gc, - x + gcBounds.x, - y + gcBounds.y, + x, + y, services, defaultIndex, flavor, attributes, (Frame)owner); } else { dialog = new ServiceDialog(gc, - x + gcBounds.x, - y + gcBounds.y, + x, + y, services, defaultIndex, flavor, attributes, (Dialog)owner);