Java JDialog setCursorFree(JDialog dialog)

Here you can find the source of setCursorFree(JDialog dialog)

Description

Set cursor to free and enable application input.

License

Open Source License

Parameter

Parameter Description
dialog Dialog to apply to

Declaration

public static void setCursorFree(JDialog dialog) 

Method Source Code


//package com.java2s;
/*/*w  ww  .j  a  v a  2s  .c o  m*/
 * Copyright 2004 - 2013 Wayne Grant
 *           2013 - 2016 Kai Kramer
 *
 * This file is part of KeyStore Explorer.
 *
 * KeyStore Explorer is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * KeyStore Explorer is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with KeyStore Explorer.  If not, see <http://www.gnu.org/licenses/>.
 */

import java.awt.Component;
import java.awt.Container;
import java.awt.Cursor;

import javax.swing.JComponent;
import javax.swing.JDialog;
import javax.swing.JFrame;

public class Main {
    /**
     * Set cursor to free and enable application input. Called after a call to
     * setCursorBusy.
     *
     * @param frame
     *            Frame to apply to
     */
    public static void setCursorFree(JFrame frame) {
        setCursorFree(frame.getRootPane().getGlassPane());
    }

    /**
     * Set cursor to free and enable application input. Called after a call to
     * setCursorBusy.
     *
     * @param component
     *            Component within container to apply to
     */
    public static void setCursorFree(JComponent component) {
        JDialog dialog = findContainingDialog(component);

        if (dialog != null) {
            setCursorFree(dialog);
        } else {
            JFrame frame = findContainingFrame(component);

            if (frame != null) {
                setCursorFree(frame);
            }
        }
    }

    /**
     * Set cursor to free and enable application input. Called after a call to
     * setCursorBusy.
     *
     * @param dialog
     *            Dialog to apply to
     */
    public static void setCursorFree(JDialog dialog) {
        setCursorFree(dialog.getRootPane().getGlassPane());
    }

    private static void setCursorFree(Component glassPane) {
        glassPane.setVisible(false);

        glassPane.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
    }

    private static JDialog findContainingDialog(JComponent component) {
        Container container = component.getParent();

        while (container != null) {
            if (container instanceof JDialog) {
                return (JDialog) container;
            }

            container = container.getParent();
        }

        return null;
    }

    private static JFrame findContainingFrame(JComponent component) {
        Container container = component.getParent();

        while (container != null) {
            if (container instanceof JFrame) {
                return (JFrame) container;
            }

            container = container.getParent();
        }

        return null;
    }
}

Related

  1. renderDialog(JDialog thedialog, String szMessage, int noffsetx, int noffsety)
  2. resizeDialogToScreen(JDialog dialog)
  3. rptaConfirmDialog(JDialog pJDialog, String pMensaje)
  4. runProgressBar(final Runnable runnable, final JDialog dialog)
  5. setActionsMenu(JDialog dialog, MenuElement menu)
  6. setDirty(JDialog dialog, boolean isDirty)
  7. setHelpDialogLoc(JButton odsHelpButton, JDialog helpDialog)
  8. setSize(JDialog dialog, int width, int height)
  9. setWinVisible(final JDialog win, final boolean vis)