Java JButton showToolTip(final boolean show, final JWindow tip, final JButton boton, final JLabel tipText)

Here you can find the source of showToolTip(final boolean show, final JWindow tip, final JButton boton, final JLabel tipText)

Description

Muestra u oculta un tooltip relacionado con un botón.

License

LGPL

Parameter

Parameter Description
show Boolean que indica si se muestra el tooltip
tip JWindow que muestra el contenido del tooltip
boton JButton al que se relaciona el tooltip
tipText JLabel que muestra el contenido del tooltip

Declaration

static void showToolTip(final boolean show, final JWindow tip, final JButton boton, final JLabel tipText) 

Method Source Code


//package com.java2s;
/*/*from w w w.jav a 2  s  .com*/
 * Controlador Java de la Secretaria de Estado de Administraciones Publicas
 * para el DNI electronico.
 *
 * El Controlador Java para el DNI electronico es un proveedor de seguridad de JCA/JCE 
 * que permite el acceso y uso del DNI electronico en aplicaciones Java de terceros 
 * para la realizacion de procesos de autenticacion, firma electronica y validacion 
 * de firma. Para ello, se implementan las funcionalidades KeyStore y Signature para 
 * el acceso a los certificados y claves del DNI electronico, asi como la realizacion 
 * de operaciones criptograficas de firma con el DNI electronico. El Controlador ha 
 * sido disenado para su funcionamiento independiente del sistema operativo final.
 * 
 * Copyright (C) 2012 Direccion General de Modernizacion Administrativa, Procedimientos 
 * e Impulso de la Administracion Electronica
 * 
 * Este programa es software libre y utiliza un licenciamiento dual (LGPL 2.1+
 * o EUPL 1.1+), lo cual significa que los usuarios podran elegir bajo cual de las
 * licencias desean utilizar el codigo fuente. Su eleccion debera reflejarse 
 * en las aplicaciones que integren o distribuyan el Controlador, ya que determinara
 * su compatibilidad con otros componentes.
 *
 * El Controlador puede ser redistribuido y/o modificado bajo los terminos de la 
 * Lesser GNU General Public License publicada por la Free Software Foundation, 
 * tanto en la version 2.1 de la Licencia, o en una version posterior.
 * 
 * El Controlador puede ser redistribuido y/o modificado bajo los terminos de la 
 * European Union Public License publicada por la Comision Europea, 
 * tanto en la version 1.1 de la Licencia, o en una version posterior.
 * 
 * Deberia recibir una copia de la GNU Lesser General Public License, si aplica, junto
 * con este programa. Si no, consultelo en <http://www.gnu.org/licenses/>.
 * 
 * Deberia recibir una copia de la European Union Public License, si aplica, junto
 * con este programa. Si no, consultelo en <http://joinup.ec.europa.eu/software/page/eupl>.
 *
 * Este programa es distribuido con la esperanza de que sea util, pero
 * SIN NINGUNA GARANTIA; incluso sin la garantia implicita de comercializacion
 * o idoneidad para un proposito particular.
 */

import java.awt.Color;
import java.awt.Font;
import java.awt.IllegalComponentStateException;
import java.awt.Point;

import java.util.logging.Logger;
import javax.swing.BorderFactory;
import javax.swing.JButton;

import javax.swing.JLabel;

import javax.swing.JWindow;
import javax.swing.UIManager;

public class Main {
    /** Muestra u oculta un tooltip relacionado con un bot&oacute;n.
     * @param show Boolean que indica si se muestra el tooltip
     * @param tip JWindow que muestra el contenido del tooltip
     * @param boton JButton al que se relaciona el tooltip
     * @param tipText JLabel que muestra el contenido del tooltip */
    static void showToolTip(final boolean show, final JWindow tip, final JButton boton, final JLabel tipText) {
        tipText.setText(boton.getToolTipText());
        tip.setBackground((Color) UIManager.get("ToolTip.background")); //$NON-NLS-1$
        tipText.setBackground((Color) UIManager.get("ToolTip.background")); //$NON-NLS-1$
        tipText.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createLineBorder(Color.BLACK),
                BorderFactory.createEmptyBorder(0, 3, 0, 3)));
        tipText.setFont((Font) UIManager.get("ToolTip.font")); //$NON-NLS-1$
        tipText.setOpaque(true);
        tip.add(tipText);
        Point p = new Point();
        try {
            p = boton.getLocationOnScreen();
        } catch (final IllegalComponentStateException e) {
            Logger.getLogger("es.gob.jmulticard").warning("Error mostrando el tooltip: " + e); //$NON-NLS-1$ //$NON-NLS-2$
        }
        int factor = 0;
        if (boton.getSize().getHeight() > 34) {
            factor = (int) (boton.getSize().getHeight() * 0.5);
        }
        tip.setLocation((int) p.getX(), (int) p.getY() + 30 + factor);
        tip.pack();
        tip.setVisible(show);
    }
}

Related

  1. setImageIcon(JButton b, String fileName, String tip)
  2. setMacBevelButton(JButton button)
  3. setTransparent(JButton btn)
  4. setupAutoRepeat(final JButton button, final int intervalMs)
  5. setWFActionMap(Vector actionButtons, String action, Map wfActionMap)
  6. showToolTip(final boolean show, final JWindow tip, final JButton boton, final JLabel tipText)
  7. toolBarSeparator(JButton button, Icon icon)
  8. wireComponentWithButton(JComponent component, final JButton button)