JDK-5007707 : Need a way to detect alway-on-top support by platform
  • Type: Enhancement
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 6
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2004-03-04
  • Updated: 2017-05-16
  • Resolved: 2005-02-15
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6
6 b24Fixed
Description
Name: dmR10075			Date: 03/04/2004


Window.setAlwaysOnTop API has been implemented so that user is unable to
tell whether his Window has actually became always-on-top or not. This
is because many platforms don't guaranteely support (even when declared)
the support for always-on-top windows. However, it is very bad practice
to have such an API without the means to get the accomplicity feedback.

I propose to add a new method, Toolkit.isAlwaysOnTopSupported, which
returns either three-state value("supported","not supported","unknown")
or two-state value("supported", "not supported" and "unknown" are
merged).
======================================================================

Comments
EVALUATION Name: rpR10076 Date: 03/05/2004 We'll need to look into it fro dragon. ###@###.### ====================================================================== See CCC #5007707 The approved API: java.awt.Window(modified method): /** * Sets whether this window should always be above other windows. If * there are multiple always-on-top windows, their relative order is * unspecified and platform dependent. * <p> * If some other window is already always-on-top then the * relative order between these windows is unspecified (depends on * platform). No window can be brought to be over the always-on-top * window except maybe another always-on-top window. * <p> * All windows owned by an always-on-top window inherit this state and * automatically become always-on-top. If a window ceases to be * always-on-top, the windows that it owns will no longer be * always-on-top. When an always-on-top window is sent {@link #toBack * toBack}, its always-on-top state is set to <code>false</code>. * * <p> When this method is called on a window with a value of * <code>true</code>, and the window is visible and the platform * supports always-on-top for this window, the window is immediately * brought forward, "sticking" it in the top-most position. If the * window isn`t currently visible, this method sets the always-on-top * state to <code>true</code> but does not bring the window forward. * When the window is later shown, it will be always-on-top. * * <p> When this method is called on a window with a value of * <code>false</code> the always-on-top state is set to normal. The * window remains in the top-most position but it`s z-order can be * changed as for any other window. Calling this method with a value * of <code>false</code> on a window that has a normal state has no * effect. Setting the always-on-top state to false has no effect on * the relative z-order of the windows if there are no other * always-on-top windows. * !* <p><b>Note</b>: some platforms might not support always-on-top !* windows. To detect if always-on-top windows are supported by the !* current platform, use {@link Toolkit#isAlwaysOnTopSupported()} and !* {@link Window.isAlwaysOnTopSupported()}. If always-on-top mode !* isn't supported by the toolkit or for this window, calling this !* method has no effect. * <p> * If a SecurityManager is installed, the calling thread must be * granted the AWTPermission "setWindowAlwaysOnTop" in * order to set the value of this property. If this * permission is not granted, this method will throw a * SecurityException, and the current value of the property will * be left unchanged. * * @param alwaysOnTop true if the window should always be above other * windows * @throws SecurityException if the calling thread does not have * permission to set the value of always-on-top property * @see #isAlwaysOnTop * @see #toFront * @see #toBack * @see AWTPermission * @see #isAlwaysOnTopSupported * @see Toolkit#isAlwaysOnTopSupported * @since 1.5 */ public final void setAlwaysOnTop(boolean alwaysOnTop) throws SecurityException java.awt.Window(new method): /** * Returns whether the always-on-top mode is supported for this * window. Some platforms may not support always-on-top windows, some * may support only some kinds of top-level windows; for example, * a platform may not support always-on-top modal dialogs. * @return true if the always-on-top mode is supported by the toolkit and * for this window, false, if always-on-top mode is not supported * for this window or toolkit doesn't support always-on-top windows. * @see #setAlwaysOnTop(boolean) * @see Toolkit#isAlwaysOnTopSupported */ public boolean isAlwaysOnTopSupported() java.awt.Toolkit(new method): /** * Returns whether the always-on-top mode is supported by this toolkit. * To detect whether the always-on-top mode is supported for a * particular Window, use {@link Window#isAlwaysOnTopSupported}. * @return true if current toolkit supports the always-on-top mode, * otherwise returns false * @see Window#isAlwaysOnTopSupported * @see Window#setAlwaysOnTop(boolean) */ public boolean isAlwaysOnTopSupported() ###@###.### 2004-12-23 15:45:26 GMT
23-12-2004

CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: mustang
07-09-2004