Here you can find the source of showDefaultCursorOnWindow(Component caller)
public static void showDefaultCursorOnWindow(Component caller)
//package com.java2s; /*/*from www .j a v a 2 s. com*/ * WbSwingUtilities.java * * This file is part of SQL Workbench/J, http://www.sql-workbench.net * * Copyright 2002-2015, Thomas Kellerer * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at. * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * To contact the author please send an email to: support@sql-workbench.net * */ import javax.swing.*; import java.awt.*; public class Main { public static void showDefaultCursorOnWindow(Component caller) { showDefaultCursor(caller, true); } public static void showDefaultCursor(final Component caller) { showDefaultCursor(caller, false); } public static void showDefaultCursor(final Component caller, final boolean includeParents) { showCursor(null, caller, includeParents, true); } private static void showCursor(final Cursor cursor, final Component caller, final boolean includeParent, boolean immediate) { if (caller == null) return; Runnable r = new Runnable() { @Override public void run() { caller.setCursor(cursor); if (includeParent) { final Window w = getWindowAncestor(caller); if (w != null) { w.setCursor(cursor); } } } }; if (EventQueue.isDispatchThread()) { r.run(); } else { if (immediate) { try { EventQueue.invokeAndWait(r); } catch (Throwable th) { } } else { EventQueue.invokeLater(r); } } } public static Window getWindowAncestor(Component caller) { if (caller == null) return null; if (caller instanceof Window) { return (Window) caller; } return SwingUtilities.getWindowAncestor(caller); } /** * A simple wrapper around EventQueue.invokeLater(). * * @param runner the task to execute */ public static void invokeLater(Runnable runner) { EventQueue.invokeLater(runner); } }