< prev index next >
src/java.desktop/share/classes/sun/awt/SunToolkit.java
Print this page
*** 337,349 ****
}
/**
* Sets the synchronous status of focus requests on lightweight
* components in the specified window to the specified value.
! * If the boolean parameter is <code>true</code> then the focus
* requests on lightweight components will be performed
! * synchronously, if it is <code>false</code>, then asynchronously.
* By default, all windows have their lightweight request status
* set to asynchronous.
* <p>
* The application can only set the status of lightweight focus
* requests to synchronous for any of its windows if it doesn't
--- 337,349 ----
}
/**
* Sets the synchronous status of focus requests on lightweight
* components in the specified window to the specified value.
! * If the boolean parameter is {@code true} then the focus
* requests on lightweight components will be performed
! * synchronously, if it is {@code false}, then asynchronously.
* By default, all windows have their lightweight request status
* set to asynchronous.
* <p>
* The application can only set the status of lightweight focus
* requests to synchronous for any of its windows if it doesn't
*** 519,529 ****
}
/*
* Execute a chunk of code on the Java event handler thread. The
* method takes into account provided AppContext and sets
! * <code>SunToolkit.getDefaultToolkit()</code> as a target of the
* event. See 6451487 for detailes.
* Does not wait for the execution to occur before returning to
* the caller.
*/
public static void invokeLaterOnAppContext(
--- 519,529 ----
}
/*
* Execute a chunk of code on the Java event handler thread. The
* method takes into account provided AppContext and sets
! * {@code SunToolkit.getDefaultToolkit()} as a target of the
* event. See 6451487 for detailes.
* Does not wait for the execution to occur before returning to
* the caller.
*/
public static void invokeLaterOnAppContext(
*** 1161,1171 ****
/**
* Returns whether default toolkit needs the support of the xembed
* from embedding host(if any).
! * @return <code>true</code>, if XEmbed is needed, <code>false</code> otherwise
*/
public static boolean needsXEmbed() {
String noxembed = AccessController.
doPrivileged(new GetPropertyAction("sun.awt.noxembed", "false"));
if ("true".equals(noxembed)) {
--- 1161,1171 ----
/**
* Returns whether default toolkit needs the support of the xembed
* from embedding host(if any).
! * @return {@code true}, if XEmbed is needed, {@code false} otherwise
*/
public static boolean needsXEmbed() {
String noxembed = AccessController.
doPrivileged(new GetPropertyAction("sun.awt.noxembed", "false"));
if ("true".equals(noxembed)) {
*** 1184,1194 ****
}
/**
* Returns whether this toolkit needs the support of the xembed
* from embedding host(if any).
! * @return <code>true</code>, if XEmbed is needed, <code>false</code> otherwise
*/
protected boolean needsXEmbedImpl() {
return false;
}
--- 1184,1194 ----
}
/**
* Returns whether this toolkit needs the support of the xembed
* from embedding host(if any).
! * @return {@code true}, if XEmbed is needed, {@code false} otherwise
*/
protected boolean needsXEmbedImpl() {
return false;
}
*** 1203,1214 ****
return AccessController.doPrivileged(new GetBooleanAction("sun.awt.xembedserver"));
}
/**
* Returns whether the modal exclusion API is supported by the current toolkit.
! * When it isn't supported, calling <code>setModalExcluded</code> has no
! * effect, and <code>isModalExcluded</code> returns false for all windows.
*
* @return true if modal exclusion is supported by the toolkit, false otherwise
*
* @see sun.awt.SunToolkit#setModalExcluded(java.awt.Window)
* @see sun.awt.SunToolkit#isModalExcluded(java.awt.Window)
--- 1203,1214 ----
return AccessController.doPrivileged(new GetBooleanAction("sun.awt.xembedserver"));
}
/**
* Returns whether the modal exclusion API is supported by the current toolkit.
! * When it isn't supported, calling {@code setModalExcluded} has no
! * effect, and {@code isModalExcluded} returns false for all windows.
*
* @return true if modal exclusion is supported by the toolkit, false otherwise
*
* @see sun.awt.SunToolkit#setModalExcluded(java.awt.Window)
* @see sun.awt.SunToolkit#isModalExcluded(java.awt.Window)
*** 1237,1247 ****
* Sets this window to be excluded from being modally blocked. When the
* toolkit supports modal exclusion and this method is called, input
* events, focus transfer and z-order will continue to work for the
* window, it's owned windows and child components, even in the
* presence of a modal dialog.
! * For details on which <code>Window</code>s are normally blocked
* by modal dialog, see {@link java.awt.Dialog}.
* Invoking this method when the modal exclusion API is not supported by
* the current toolkit has no effect.
* @param window Window to be marked as not modally blocked
* @see java.awt.Dialog
--- 1237,1247 ----
* Sets this window to be excluded from being modally blocked. When the
* toolkit supports modal exclusion and this method is called, input
* events, focus transfer and z-order will continue to work for the
* window, it's owned windows and child components, even in the
* presence of a modal dialog.
! * For details on which {@code Window}s are normally blocked
* by modal dialog, see {@link java.awt.Dialog}.
* Invoking this method when the modal exclusion API is not supported by
* the current toolkit has no effect.
* @param window Window to be marked as not modally blocked
* @see java.awt.Dialog
*** 1426,1452 ****
* invoked on this thread, the method throws the
* IllegalThreadException runtime exception.
*
* <p> This method allows to write tests without explicit timeouts
* or wait for some event. Example:
! * <code>
* Frame f = ...;
* f.setVisible(true);
* ((SunToolkit)Toolkit.getDefaultToolkit()).realSync();
! * </code>
*
! * <p> After realSync, <code>f</code> will be completely visible
* on the screen, its getLocationOnScreen will be returning the
* right result and it will be the focus owner.
*
* <p> Another example:
! * <code>
* b.requestFocus();
* ((SunToolkit)Toolkit.getDefaultToolkit()).realSync();
! * </code>
*
! * <p> After realSync, <code>b</code> will be focus owner.
*
* <p> Notice that realSync isn't guaranteed to work if recurring
* actions occur, such as if during processing of some event
* another request which may generate some events occurs. By
* default, sync tries to perform as much as {@value #MAX_ITERS}
--- 1426,1452 ----
* invoked on this thread, the method throws the
* IllegalThreadException runtime exception.
*
* <p> This method allows to write tests without explicit timeouts
* or wait for some event. Example:
! * <pre>{@code
* Frame f = ...;
* f.setVisible(true);
* ((SunToolkit)Toolkit.getDefaultToolkit()).realSync();
! * }</pre>
*
! * <p> After realSync, {@code f} will be completely visible
* on the screen, its getLocationOnScreen will be returning the
* right result and it will be the focus owner.
*
* <p> Another example:
! * <pre>{@code
* b.requestFocus();
* ((SunToolkit)Toolkit.getDefaultToolkit()).realSync();
! * }</pre>
*
! * <p> After realSync, {@code b} will be focus owner.
*
* <p> Notice that realSync isn't guaranteed to work if recurring
* actions occur, such as if during processing of some event
* another request which may generate some events occurs. By
* default, sync tries to perform as much as {@value #MAX_ITERS}
*** 1517,1528 ****
/**
* Platform toolkits need to implement this method to perform the
* sync of the native queue. The method should wait until native
* requests are processed, all native events are processed and
* corresponding Java events are generated. Should return
! * <code>true</code> if some events were processed,
! * <code>false</code> otherwise.
*/
protected abstract boolean syncNativeQueue(final long timeout);
private boolean eventDispatched = false;
private boolean queueEmpty = false;
--- 1517,1528 ----
/**
* Platform toolkits need to implement this method to perform the
* sync of the native queue. The method should wait until native
* requests are processed, all native events are processed and
* corresponding Java events are generated. Should return
! * {@code true} if some events were processed,
! * {@code false} otherwise.
*/
protected abstract boolean syncNativeQueue(final long timeout);
private boolean eventDispatched = false;
private boolean queueEmpty = false;
*** 1535,1546 ****
/**
* Waits for the Java event queue to empty. Ensures that all
* events are processed (including paint events), and that if
* recursive events were generated, they are also processed.
! * Should return <code>true</code> if more processing is
! * necessary, <code>false</code> otherwise.
*/
@SuppressWarnings("serial")
protected final boolean waitForIdle(final long timeout) {
flushPendingEvents();
boolean queueWasEmpty = isEQEmpty();
--- 1535,1546 ----
/**
* Waits for the Java event queue to empty. Ensures that all
* events are processed (including paint events), and that if
* recursive events were generated, they are also processed.
! * Should return {@code true} if more processing is
! * necessary, {@code false} otherwise.
*/
@SuppressWarnings("serial")
protected final boolean waitForIdle(final long timeout) {
flushPendingEvents();
boolean queueWasEmpty = isEQEmpty();
*** 1801,1811 ****
protected static void dumpPeers(final PlatformLogger aLog) {
AWTAutoShutdown.getInstance().dumpPeers(aLog);
}
/**
! * Returns the <code>Window</code> ancestor of the component <code>comp</code>.
* @return Window ancestor of the component or component by itself if it is Window;
* null, if component is not a part of window hierarchy
*/
public static Window getContainingWindow(Component comp) {
while (comp != null && !(comp instanceof Window)) {
--- 1801,1811 ----
protected static void dumpPeers(final PlatformLogger aLog) {
AWTAutoShutdown.getInstance().dumpPeers(aLog);
}
/**
! * Returns the {@code Window} ancestor of the component {@code comp}.
* @return Window ancestor of the component or component by itself if it is Window;
* null, if component is not a part of window hierarchy
*/
public static Window getContainingWindow(Component comp) {
while (comp != null && !(comp instanceof Window)) {
< prev index next >