Java Code Examples for java.awt.Window#isFocused()
The following examples show how to use
java.awt.Window#isFocused() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: XComponentPeer.java From dragonwell8_jdk with GNU General Public License v2.0 | 4 votes |
final public boolean requestFocus(Component lightweightChild, boolean temporary, boolean focusedWindowChangeAllowed, long time, CausedFocusEvent.Cause cause) { if (XKeyboardFocusManagerPeer. processSynchronousLightweightTransfer(target, lightweightChild, temporary, focusedWindowChangeAllowed, time)) { return true; } int result = XKeyboardFocusManagerPeer. shouldNativelyFocusHeavyweight(target, lightweightChild, temporary, focusedWindowChangeAllowed, time, cause); switch (result) { case XKeyboardFocusManagerPeer.SNFH_FAILURE: return false; case XKeyboardFocusManagerPeer.SNFH_SUCCESS_PROCEED: // Currently we just generate focus events like we deal with lightweight instead of calling // XSetInputFocus on native window if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Proceeding with request to " + lightweightChild + " in " + target); } /** * The problems with requests in non-focused window arise because shouldNativelyFocusHeavyweight * checks that native window is focused while appropriate WINDOW_GAINED_FOCUS has not yet * been processed - it is in EventQueue. Thus, SNFH allows native request and stores request record * in requests list - and it breaks our requests sequence as first record on WGF should be the last * focus owner which had focus before WLF. So, we should not add request record for such requests * but store this component in mostRecent - and return true as before for compatibility. */ Window parentWindow = SunToolkit.getContainingWindow(target); if (parentWindow == null) { return rejectFocusRequestHelper("WARNING: Parent window is null"); } XWindowPeer wpeer = (XWindowPeer)parentWindow.getPeer(); if (wpeer == null) { return rejectFocusRequestHelper("WARNING: Parent window's peer is null"); } /* * Passing null 'actualFocusedWindow' as we don't want to restore focus on it * when a component inside a Frame is requesting focus. * See 6314575 for details. */ boolean res = wpeer.requestWindowFocus(null); if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Requested window focus: " + res); } // If parent window can be made focused and has been made focused(synchronously) // then we can proceed with children, otherwise we retreat. if (!(res && parentWindow.isFocused())) { return rejectFocusRequestHelper("Waiting for asynchronous processing of the request"); } return XKeyboardFocusManagerPeer.deliverFocus(lightweightChild, (Component)target, temporary, focusedWindowChangeAllowed, time, cause); // Motif compatibility code case XKeyboardFocusManagerPeer.SNFH_SUCCESS_HANDLED: // Either lightweight or excessive request - all events are generated. return true; } return false; }
Example 2
Source File: XComponentPeer.java From TencentKona-8 with GNU General Public License v2.0 | 4 votes |
final public boolean requestFocus(Component lightweightChild, boolean temporary, boolean focusedWindowChangeAllowed, long time, CausedFocusEvent.Cause cause) { if (XKeyboardFocusManagerPeer. processSynchronousLightweightTransfer(target, lightweightChild, temporary, focusedWindowChangeAllowed, time)) { return true; } int result = XKeyboardFocusManagerPeer. shouldNativelyFocusHeavyweight(target, lightweightChild, temporary, focusedWindowChangeAllowed, time, cause); switch (result) { case XKeyboardFocusManagerPeer.SNFH_FAILURE: return false; case XKeyboardFocusManagerPeer.SNFH_SUCCESS_PROCEED: // Currently we just generate focus events like we deal with lightweight instead of calling // XSetInputFocus on native window if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Proceeding with request to " + lightweightChild + " in " + target); } /** * The problems with requests in non-focused window arise because shouldNativelyFocusHeavyweight * checks that native window is focused while appropriate WINDOW_GAINED_FOCUS has not yet * been processed - it is in EventQueue. Thus, SNFH allows native request and stores request record * in requests list - and it breaks our requests sequence as first record on WGF should be the last * focus owner which had focus before WLF. So, we should not add request record for such requests * but store this component in mostRecent - and return true as before for compatibility. */ Window parentWindow = SunToolkit.getContainingWindow(target); if (parentWindow == null) { return rejectFocusRequestHelper("WARNING: Parent window is null"); } XWindowPeer wpeer = (XWindowPeer)parentWindow.getPeer(); if (wpeer == null) { return rejectFocusRequestHelper("WARNING: Parent window's peer is null"); } /* * Passing null 'actualFocusedWindow' as we don't want to restore focus on it * when a component inside a Frame is requesting focus. * See 6314575 for details. */ boolean res = wpeer.requestWindowFocus(null); if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Requested window focus: " + res); } // If parent window can be made focused and has been made focused(synchronously) // then we can proceed with children, otherwise we retreat. if (!(res && parentWindow.isFocused())) { return rejectFocusRequestHelper("Waiting for asynchronous processing of the request"); } return XKeyboardFocusManagerPeer.deliverFocus(lightweightChild, (Component)target, temporary, focusedWindowChangeAllowed, time, cause); // Motif compatibility code case XKeyboardFocusManagerPeer.SNFH_SUCCESS_HANDLED: // Either lightweight or excessive request - all events are generated. return true; } return false; }
Example 3
Source File: XComponentPeer.java From jdk8u60 with GNU General Public License v2.0 | 4 votes |
final public boolean requestFocus(Component lightweightChild, boolean temporary, boolean focusedWindowChangeAllowed, long time, CausedFocusEvent.Cause cause) { if (XKeyboardFocusManagerPeer. processSynchronousLightweightTransfer(target, lightweightChild, temporary, focusedWindowChangeAllowed, time)) { return true; } int result = XKeyboardFocusManagerPeer. shouldNativelyFocusHeavyweight(target, lightweightChild, temporary, focusedWindowChangeAllowed, time, cause); switch (result) { case XKeyboardFocusManagerPeer.SNFH_FAILURE: return false; case XKeyboardFocusManagerPeer.SNFH_SUCCESS_PROCEED: // Currently we just generate focus events like we deal with lightweight instead of calling // XSetInputFocus on native window if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Proceeding with request to " + lightweightChild + " in " + target); } /** * The problems with requests in non-focused window arise because shouldNativelyFocusHeavyweight * checks that native window is focused while appropriate WINDOW_GAINED_FOCUS has not yet * been processed - it is in EventQueue. Thus, SNFH allows native request and stores request record * in requests list - and it breaks our requests sequence as first record on WGF should be the last * focus owner which had focus before WLF. So, we should not add request record for such requests * but store this component in mostRecent - and return true as before for compatibility. */ Window parentWindow = SunToolkit.getContainingWindow(target); if (parentWindow == null) { return rejectFocusRequestHelper("WARNING: Parent window is null"); } XWindowPeer wpeer = (XWindowPeer)parentWindow.getPeer(); if (wpeer == null) { return rejectFocusRequestHelper("WARNING: Parent window's peer is null"); } /* * Passing null 'actualFocusedWindow' as we don't want to restore focus on it * when a component inside a Frame is requesting focus. * See 6314575 for details. */ boolean res = wpeer.requestWindowFocus(null); if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Requested window focus: " + res); } // If parent window can be made focused and has been made focused(synchronously) // then we can proceed with children, otherwise we retreat. if (!(res && parentWindow.isFocused())) { return rejectFocusRequestHelper("Waiting for asynchronous processing of the request"); } return XKeyboardFocusManagerPeer.deliverFocus(lightweightChild, (Component)target, temporary, focusedWindowChangeAllowed, time, cause); // Motif compatibility code case XKeyboardFocusManagerPeer.SNFH_SUCCESS_HANDLED: // Either lightweight or excessive request - all events are generated. return true; } return false; }
Example 4
Source File: XComponentPeer.java From openjdk-jdk8u with GNU General Public License v2.0 | 4 votes |
final public boolean requestFocus(Component lightweightChild, boolean temporary, boolean focusedWindowChangeAllowed, long time, CausedFocusEvent.Cause cause) { if (XKeyboardFocusManagerPeer. processSynchronousLightweightTransfer(target, lightweightChild, temporary, focusedWindowChangeAllowed, time)) { return true; } int result = XKeyboardFocusManagerPeer. shouldNativelyFocusHeavyweight(target, lightweightChild, temporary, focusedWindowChangeAllowed, time, cause); switch (result) { case XKeyboardFocusManagerPeer.SNFH_FAILURE: return false; case XKeyboardFocusManagerPeer.SNFH_SUCCESS_PROCEED: // Currently we just generate focus events like we deal with lightweight instead of calling // XSetInputFocus on native window if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Proceeding with request to " + lightweightChild + " in " + target); } /** * The problems with requests in non-focused window arise because shouldNativelyFocusHeavyweight * checks that native window is focused while appropriate WINDOW_GAINED_FOCUS has not yet * been processed - it is in EventQueue. Thus, SNFH allows native request and stores request record * in requests list - and it breaks our requests sequence as first record on WGF should be the last * focus owner which had focus before WLF. So, we should not add request record for such requests * but store this component in mostRecent - and return true as before for compatibility. */ Window parentWindow = SunToolkit.getContainingWindow(target); if (parentWindow == null) { return rejectFocusRequestHelper("WARNING: Parent window is null"); } XWindowPeer wpeer = (XWindowPeer)parentWindow.getPeer(); if (wpeer == null) { return rejectFocusRequestHelper("WARNING: Parent window's peer is null"); } /* * Passing null 'actualFocusedWindow' as we don't want to restore focus on it * when a component inside a Frame is requesting focus. * See 6314575 for details. */ boolean res = wpeer.requestWindowFocus(null); if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Requested window focus: " + res); } // If parent window can be made focused and has been made focused(synchronously) // then we can proceed with children, otherwise we retreat. if (!(res && parentWindow.isFocused())) { return rejectFocusRequestHelper("Waiting for asynchronous processing of the request"); } return XKeyboardFocusManagerPeer.deliverFocus(lightweightChild, (Component)target, temporary, focusedWindowChangeAllowed, time, cause); // Motif compatibility code case XKeyboardFocusManagerPeer.SNFH_SUCCESS_HANDLED: // Either lightweight or excessive request - all events are generated. return true; } return false; }
Example 5
Source File: ProfilerTableHovers.java From netbeans with Apache License 2.0 | 4 votes |
private static boolean isInFocusedWindow(Component c) { Window w = SwingUtilities.getWindowAncestor(c); return w != null && w.isFocused(); }
Example 6
Source File: XComponentPeer.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 4 votes |
final public boolean requestFocus(Component lightweightChild, boolean temporary, boolean focusedWindowChangeAllowed, long time, CausedFocusEvent.Cause cause) { if (XKeyboardFocusManagerPeer. processSynchronousLightweightTransfer(target, lightweightChild, temporary, focusedWindowChangeAllowed, time)) { return true; } int result = XKeyboardFocusManagerPeer. shouldNativelyFocusHeavyweight(target, lightweightChild, temporary, focusedWindowChangeAllowed, time, cause); switch (result) { case XKeyboardFocusManagerPeer.SNFH_FAILURE: return false; case XKeyboardFocusManagerPeer.SNFH_SUCCESS_PROCEED: // Currently we just generate focus events like we deal with lightweight instead of calling // XSetInputFocus on native window if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Proceeding with request to " + lightweightChild + " in " + target); } /** * The problems with requests in non-focused window arise because shouldNativelyFocusHeavyweight * checks that native window is focused while appropriate WINDOW_GAINED_FOCUS has not yet * been processed - it is in EventQueue. Thus, SNFH allows native request and stores request record * in requests list - and it breaks our requests sequence as first record on WGF should be the last * focus owner which had focus before WLF. So, we should not add request record for such requests * but store this component in mostRecent - and return true as before for compatibility. */ Window parentWindow = SunToolkit.getContainingWindow(target); if (parentWindow == null) { return rejectFocusRequestHelper("WARNING: Parent window is null"); } XWindowPeer wpeer = (XWindowPeer)parentWindow.getPeer(); if (wpeer == null) { return rejectFocusRequestHelper("WARNING: Parent window's peer is null"); } /* * Passing null 'actualFocusedWindow' as we don't want to restore focus on it * when a component inside a Frame is requesting focus. * See 6314575 for details. */ boolean res = wpeer.requestWindowFocus(null); if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Requested window focus: " + res); } // If parent window can be made focused and has been made focused(synchronously) // then we can proceed with children, otherwise we retreat. if (!(res && parentWindow.isFocused())) { return rejectFocusRequestHelper("Waiting for asynchronous processing of the request"); } return XKeyboardFocusManagerPeer.deliverFocus(lightweightChild, (Component)target, temporary, focusedWindowChangeAllowed, time, cause); // Motif compatibility code case XKeyboardFocusManagerPeer.SNFH_SUCCESS_HANDLED: // Either lightweight or excessive request - all events are generated. return true; } return false; }
Example 7
Source File: XComponentPeer.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
@SuppressWarnings("deprecation") public final boolean requestFocus(Component lightweightChild, boolean temporary, boolean focusedWindowChangeAllowed, long time, FocusEvent.Cause cause) { if (XKeyboardFocusManagerPeer. processSynchronousLightweightTransfer(target, lightweightChild, temporary, focusedWindowChangeAllowed, time)) { return true; } int result = XKeyboardFocusManagerPeer. shouldNativelyFocusHeavyweight(target, lightweightChild, temporary, focusedWindowChangeAllowed, time, cause); switch (result) { case XKeyboardFocusManagerPeer.SNFH_FAILURE: return false; case XKeyboardFocusManagerPeer.SNFH_SUCCESS_PROCEED: // Currently we just generate focus events like we deal with lightweight instead of calling // XSetInputFocus on native window if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Proceeding with request to " + lightweightChild + " in " + target); } /** * The problems with requests in non-focused window arise because shouldNativelyFocusHeavyweight * checks that native window is focused while appropriate WINDOW_GAINED_FOCUS has not yet * been processed - it is in EventQueue. Thus, SNFH allows native request and stores request record * in requests list - and it breaks our requests sequence as first record on WGF should be the last * focus owner which had focus before WLF. So, we should not add request record for such requests * but store this component in mostRecent - and return true as before for compatibility. */ Window parentWindow = SunToolkit.getContainingWindow(target); if (parentWindow == null) { return rejectFocusRequestHelper("WARNING: Parent window is null"); } XWindowPeer wpeer = AWTAccessor.getComponentAccessor() .getPeer(parentWindow); if (wpeer == null) { return rejectFocusRequestHelper("WARNING: Parent window's peer is null"); } /* * Passing null 'actualFocusedWindow' as we don't want to restore focus on it * when a component inside a Frame is requesting focus. * See 6314575 for details. */ boolean res = wpeer.requestWindowFocus(null); if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Requested window focus: " + res); } // If parent window can be made focused and has been made focused(synchronously) // then we can proceed with children, otherwise we retreat. if (!(res && parentWindow.isFocused())) { return rejectFocusRequestHelper("Waiting for asynchronous processing of the request"); } return XKeyboardFocusManagerPeer.deliverFocus(lightweightChild, target, temporary, focusedWindowChangeAllowed, time, cause); // Motif compatibility code case XKeyboardFocusManagerPeer.SNFH_SUCCESS_HANDLED: // Either lightweight or excessive request - all events are generated. return true; } return false; }
Example 8
Source File: XComponentPeer.java From jdk8u-jdk with GNU General Public License v2.0 | 4 votes |
final public boolean requestFocus(Component lightweightChild, boolean temporary, boolean focusedWindowChangeAllowed, long time, CausedFocusEvent.Cause cause) { if (XKeyboardFocusManagerPeer. processSynchronousLightweightTransfer(target, lightweightChild, temporary, focusedWindowChangeAllowed, time)) { return true; } int result = XKeyboardFocusManagerPeer. shouldNativelyFocusHeavyweight(target, lightweightChild, temporary, focusedWindowChangeAllowed, time, cause); switch (result) { case XKeyboardFocusManagerPeer.SNFH_FAILURE: return false; case XKeyboardFocusManagerPeer.SNFH_SUCCESS_PROCEED: // Currently we just generate focus events like we deal with lightweight instead of calling // XSetInputFocus on native window if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Proceeding with request to " + lightweightChild + " in " + target); } /** * The problems with requests in non-focused window arise because shouldNativelyFocusHeavyweight * checks that native window is focused while appropriate WINDOW_GAINED_FOCUS has not yet * been processed - it is in EventQueue. Thus, SNFH allows native request and stores request record * in requests list - and it breaks our requests sequence as first record on WGF should be the last * focus owner which had focus before WLF. So, we should not add request record for such requests * but store this component in mostRecent - and return true as before for compatibility. */ Window parentWindow = SunToolkit.getContainingWindow(target); if (parentWindow == null) { return rejectFocusRequestHelper("WARNING: Parent window is null"); } XWindowPeer wpeer = (XWindowPeer)parentWindow.getPeer(); if (wpeer == null) { return rejectFocusRequestHelper("WARNING: Parent window's peer is null"); } /* * Passing null 'actualFocusedWindow' as we don't want to restore focus on it * when a component inside a Frame is requesting focus. * See 6314575 for details. */ boolean res = wpeer.requestWindowFocus(null); if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Requested window focus: " + res); } // If parent window can be made focused and has been made focused(synchronously) // then we can proceed with children, otherwise we retreat. if (!(res && parentWindow.isFocused())) { return rejectFocusRequestHelper("Waiting for asynchronous processing of the request"); } return XKeyboardFocusManagerPeer.deliverFocus(lightweightChild, (Component)target, temporary, focusedWindowChangeAllowed, time, cause); // Motif compatibility code case XKeyboardFocusManagerPeer.SNFH_SUCCESS_HANDLED: // Either lightweight or excessive request - all events are generated. return true; } return false; }
Example 9
Source File: XComponentPeer.java From hottub with GNU General Public License v2.0 | 4 votes |
final public boolean requestFocus(Component lightweightChild, boolean temporary, boolean focusedWindowChangeAllowed, long time, CausedFocusEvent.Cause cause) { if (XKeyboardFocusManagerPeer. processSynchronousLightweightTransfer(target, lightweightChild, temporary, focusedWindowChangeAllowed, time)) { return true; } int result = XKeyboardFocusManagerPeer. shouldNativelyFocusHeavyweight(target, lightweightChild, temporary, focusedWindowChangeAllowed, time, cause); switch (result) { case XKeyboardFocusManagerPeer.SNFH_FAILURE: return false; case XKeyboardFocusManagerPeer.SNFH_SUCCESS_PROCEED: // Currently we just generate focus events like we deal with lightweight instead of calling // XSetInputFocus on native window if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Proceeding with request to " + lightweightChild + " in " + target); } /** * The problems with requests in non-focused window arise because shouldNativelyFocusHeavyweight * checks that native window is focused while appropriate WINDOW_GAINED_FOCUS has not yet * been processed - it is in EventQueue. Thus, SNFH allows native request and stores request record * in requests list - and it breaks our requests sequence as first record on WGF should be the last * focus owner which had focus before WLF. So, we should not add request record for such requests * but store this component in mostRecent - and return true as before for compatibility. */ Window parentWindow = SunToolkit.getContainingWindow(target); if (parentWindow == null) { return rejectFocusRequestHelper("WARNING: Parent window is null"); } XWindowPeer wpeer = (XWindowPeer)parentWindow.getPeer(); if (wpeer == null) { return rejectFocusRequestHelper("WARNING: Parent window's peer is null"); } /* * Passing null 'actualFocusedWindow' as we don't want to restore focus on it * when a component inside a Frame is requesting focus. * See 6314575 for details. */ boolean res = wpeer.requestWindowFocus(null); if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Requested window focus: " + res); } // If parent window can be made focused and has been made focused(synchronously) // then we can proceed with children, otherwise we retreat. if (!(res && parentWindow.isFocused())) { return rejectFocusRequestHelper("Waiting for asynchronous processing of the request"); } return XKeyboardFocusManagerPeer.deliverFocus(lightweightChild, (Component)target, temporary, focusedWindowChangeAllowed, time, cause); // Motif compatibility code case XKeyboardFocusManagerPeer.SNFH_SUCCESS_HANDLED: // Either lightweight or excessive request - all events are generated. return true; } return false; }
Example 10
Source File: XComponentPeer.java From openjdk-8-source with GNU General Public License v2.0 | 4 votes |
final public boolean requestFocus(Component lightweightChild, boolean temporary, boolean focusedWindowChangeAllowed, long time, CausedFocusEvent.Cause cause) { if (XKeyboardFocusManagerPeer. processSynchronousLightweightTransfer(target, lightweightChild, temporary, focusedWindowChangeAllowed, time)) { return true; } int result = XKeyboardFocusManagerPeer. shouldNativelyFocusHeavyweight(target, lightweightChild, temporary, focusedWindowChangeAllowed, time, cause); switch (result) { case XKeyboardFocusManagerPeer.SNFH_FAILURE: return false; case XKeyboardFocusManagerPeer.SNFH_SUCCESS_PROCEED: // Currently we just generate focus events like we deal with lightweight instead of calling // XSetInputFocus on native window if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Proceeding with request to " + lightweightChild + " in " + target); } /** * The problems with requests in non-focused window arise because shouldNativelyFocusHeavyweight * checks that native window is focused while appropriate WINDOW_GAINED_FOCUS has not yet * been processed - it is in EventQueue. Thus, SNFH allows native request and stores request record * in requests list - and it breaks our requests sequence as first record on WGF should be the last * focus owner which had focus before WLF. So, we should not add request record for such requests * but store this component in mostRecent - and return true as before for compatibility. */ Window parentWindow = SunToolkit.getContainingWindow(target); if (parentWindow == null) { return rejectFocusRequestHelper("WARNING: Parent window is null"); } XWindowPeer wpeer = (XWindowPeer)parentWindow.getPeer(); if (wpeer == null) { return rejectFocusRequestHelper("WARNING: Parent window's peer is null"); } /* * Passing null 'actualFocusedWindow' as we don't want to restore focus on it * when a component inside a Frame is requesting focus. * See 6314575 for details. */ boolean res = wpeer.requestWindowFocus(null); if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Requested window focus: " + res); } // If parent window can be made focused and has been made focused(synchronously) // then we can proceed with children, otherwise we retreat. if (!(res && parentWindow.isFocused())) { return rejectFocusRequestHelper("Waiting for asynchronous processing of the request"); } return XKeyboardFocusManagerPeer.deliverFocus(lightweightChild, (Component)target, temporary, focusedWindowChangeAllowed, time, cause); // Motif compatibility code case XKeyboardFocusManagerPeer.SNFH_SUCCESS_HANDLED: // Either lightweight or excessive request - all events are generated. return true; } return false; }
Example 11
Source File: ProfilerTableHovers.java From visualvm with GNU General Public License v2.0 | 4 votes |
private static boolean isInFocusedWindow(Component c) { Window w = SwingUtilities.getWindowAncestor(c); return w != null && w.isFocused(); }
Example 12
Source File: XComponentPeer.java From openjdk-8 with GNU General Public License v2.0 | 4 votes |
final public boolean requestFocus(Component lightweightChild, boolean temporary, boolean focusedWindowChangeAllowed, long time, CausedFocusEvent.Cause cause) { if (XKeyboardFocusManagerPeer. processSynchronousLightweightTransfer(target, lightweightChild, temporary, focusedWindowChangeAllowed, time)) { return true; } int result = XKeyboardFocusManagerPeer. shouldNativelyFocusHeavyweight(target, lightweightChild, temporary, focusedWindowChangeAllowed, time, cause); switch (result) { case XKeyboardFocusManagerPeer.SNFH_FAILURE: return false; case XKeyboardFocusManagerPeer.SNFH_SUCCESS_PROCEED: // Currently we just generate focus events like we deal with lightweight instead of calling // XSetInputFocus on native window if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Proceeding with request to " + lightweightChild + " in " + target); } /** * The problems with requests in non-focused window arise because shouldNativelyFocusHeavyweight * checks that native window is focused while appropriate WINDOW_GAINED_FOCUS has not yet * been processed - it is in EventQueue. Thus, SNFH allows native request and stores request record * in requests list - and it breaks our requests sequence as first record on WGF should be the last * focus owner which had focus before WLF. So, we should not add request record for such requests * but store this component in mostRecent - and return true as before for compatibility. */ Window parentWindow = SunToolkit.getContainingWindow(target); if (parentWindow == null) { return rejectFocusRequestHelper("WARNING: Parent window is null"); } XWindowPeer wpeer = (XWindowPeer)parentWindow.getPeer(); if (wpeer == null) { return rejectFocusRequestHelper("WARNING: Parent window's peer is null"); } /* * Passing null 'actualFocusedWindow' as we don't want to restore focus on it * when a component inside a Frame is requesting focus. * See 6314575 for details. */ boolean res = wpeer.requestWindowFocus(null); if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Requested window focus: " + res); } // If parent window can be made focused and has been made focused(synchronously) // then we can proceed with children, otherwise we retreat. if (!(res && parentWindow.isFocused())) { return rejectFocusRequestHelper("Waiting for asynchronous processing of the request"); } return XKeyboardFocusManagerPeer.deliverFocus(lightweightChild, (Component)target, temporary, focusedWindowChangeAllowed, time, cause); // Motif compatibility code case XKeyboardFocusManagerPeer.SNFH_SUCCESS_HANDLED: // Either lightweight or excessive request - all events are generated. return true; } return false; }
Example 13
Source File: XComponentPeer.java From jdk8u-jdk with GNU General Public License v2.0 | 4 votes |
final public boolean requestFocus(Component lightweightChild, boolean temporary, boolean focusedWindowChangeAllowed, long time, CausedFocusEvent.Cause cause) { if (XKeyboardFocusManagerPeer. processSynchronousLightweightTransfer(target, lightweightChild, temporary, focusedWindowChangeAllowed, time)) { return true; } int result = XKeyboardFocusManagerPeer. shouldNativelyFocusHeavyweight(target, lightweightChild, temporary, focusedWindowChangeAllowed, time, cause); switch (result) { case XKeyboardFocusManagerPeer.SNFH_FAILURE: return false; case XKeyboardFocusManagerPeer.SNFH_SUCCESS_PROCEED: // Currently we just generate focus events like we deal with lightweight instead of calling // XSetInputFocus on native window if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Proceeding with request to " + lightweightChild + " in " + target); } /** * The problems with requests in non-focused window arise because shouldNativelyFocusHeavyweight * checks that native window is focused while appropriate WINDOW_GAINED_FOCUS has not yet * been processed - it is in EventQueue. Thus, SNFH allows native request and stores request record * in requests list - and it breaks our requests sequence as first record on WGF should be the last * focus owner which had focus before WLF. So, we should not add request record for such requests * but store this component in mostRecent - and return true as before for compatibility. */ Window parentWindow = SunToolkit.getContainingWindow(target); if (parentWindow == null) { return rejectFocusRequestHelper("WARNING: Parent window is null"); } XWindowPeer wpeer = (XWindowPeer)parentWindow.getPeer(); if (wpeer == null) { return rejectFocusRequestHelper("WARNING: Parent window's peer is null"); } /* * Passing null 'actualFocusedWindow' as we don't want to restore focus on it * when a component inside a Frame is requesting focus. * See 6314575 for details. */ boolean res = wpeer.requestWindowFocus(null); if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Requested window focus: " + res); } // If parent window can be made focused and has been made focused(synchronously) // then we can proceed with children, otherwise we retreat. if (!(res && parentWindow.isFocused())) { return rejectFocusRequestHelper("Waiting for asynchronous processing of the request"); } return XKeyboardFocusManagerPeer.deliverFocus(lightweightChild, (Component)target, temporary, focusedWindowChangeAllowed, time, cause); // Motif compatibility code case XKeyboardFocusManagerPeer.SNFH_SUCCESS_HANDLED: // Either lightweight or excessive request - all events are generated. return true; } return false; }
Example 14
Source File: XComponentPeer.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 4 votes |
final public boolean requestFocus(Component lightweightChild, boolean temporary, boolean focusedWindowChangeAllowed, long time, CausedFocusEvent.Cause cause) { if (XKeyboardFocusManagerPeer. processSynchronousLightweightTransfer(target, lightweightChild, temporary, focusedWindowChangeAllowed, time)) { return true; } int result = XKeyboardFocusManagerPeer. shouldNativelyFocusHeavyweight(target, lightweightChild, temporary, focusedWindowChangeAllowed, time, cause); switch (result) { case XKeyboardFocusManagerPeer.SNFH_FAILURE: return false; case XKeyboardFocusManagerPeer.SNFH_SUCCESS_PROCEED: // Currently we just generate focus events like we deal with lightweight instead of calling // XSetInputFocus on native window if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Proceeding with request to " + lightweightChild + " in " + target); } /** * The problems with requests in non-focused window arise because shouldNativelyFocusHeavyweight * checks that native window is focused while appropriate WINDOW_GAINED_FOCUS has not yet * been processed - it is in EventQueue. Thus, SNFH allows native request and stores request record * in requests list - and it breaks our requests sequence as first record on WGF should be the last * focus owner which had focus before WLF. So, we should not add request record for such requests * but store this component in mostRecent - and return true as before for compatibility. */ Window parentWindow = SunToolkit.getContainingWindow(target); if (parentWindow == null) { return rejectFocusRequestHelper("WARNING: Parent window is null"); } XWindowPeer wpeer = (XWindowPeer)parentWindow.getPeer(); if (wpeer == null) { return rejectFocusRequestHelper("WARNING: Parent window's peer is null"); } /* * Passing null 'actualFocusedWindow' as we don't want to restore focus on it * when a component inside a Frame is requesting focus. * See 6314575 for details. */ boolean res = wpeer.requestWindowFocus(null); if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Requested window focus: " + res); } // If parent window can be made focused and has been made focused(synchronously) // then we can proceed with children, otherwise we retreat. if (!(res && parentWindow.isFocused())) { return rejectFocusRequestHelper("Waiting for asynchronous processing of the request"); } return XKeyboardFocusManagerPeer.deliverFocus(lightweightChild, (Component)target, temporary, focusedWindowChangeAllowed, time, cause); // Motif compatibility code case XKeyboardFocusManagerPeer.SNFH_SUCCESS_HANDLED: // Either lightweight or excessive request - all events are generated. return true; } return false; }
Example 15
Source File: EmphasizedLabelUI.java From pumpernickel with MIT License | 2 votes |
/** * {@code true} if the given {@link Component}'s has a parent {@link Window} * (i.e. it's not null) and that {@link Window} is currently active * (focused). * * @param component * the {@code Component} to check the parent {@code Window}'s * focus for. * @return {@code true} if the given {@code Component}'s parent * {@code Window} is currently active. */ public static boolean isParentWindowFocused(Component component) { Window window = SwingUtilities.getWindowAncestor(component); return window != null && window.isFocused(); }
Example 16
Source File: WindowUtils.java From seaglass with Apache License 2.0 | 2 votes |
/** * {@code true} if the given {@link Component}'s parent {@link Window} is * currently active (focused). * * @param component the {@code Component} to check the parent * {@code Window}'s focus for. * * @return {@code true} if the given {@code Component}'s parent * {@code Window} is currently active. */ public static boolean isParentWindowFocused(Component component) { Window window = SwingUtilities.getWindowAncestor(component); return window != null && window.isFocused(); }