Tooltip é um elemento comum de interface gráfica GUI, também conhecida como dica de contexto é aquela moldura pop up que abre quando você passa o mouse sobre um elemento da interface (normalmente uma palavra em um texto) e que contém uma explicação adicional sobre aquele elemento que recebeu o ponteiro do mouse sobre ele. É utilizado em conjunto com um cursor, normalmente um ponteiro do mouse. O usuário paira o cursor sobre um item, sem clicar nele, e uma pequena “caixa” irá aparece com informações complementares relativas a este item.
JToolTip
Usado para exibir uma “dica” para um componente. Normalmente componentes fornecem api para automatizar o processo de utilização de dicas de ferramentas. Por exemplo, qualquer componente Swing pode usar o método JComponent setToolTipText para especificar o texto para uma dica de ferramenta padrão. Um componente que quer criar uma exibição personalizada dica de ferramenta pode substituir o método createToolTip de JComponent e usar uma subclasse dessa classe.
Exemplo:
Neste exemplo usamos o método setToolTipText para exibir uma dica para o usuário ao pairar o cursor do mouse sobre o botão.
Java
import java.awt.Container;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Dicas {
// Declara componentes
JLabel rotulo;
JButton botao;
// Declara variaveis
String dica = "Desenvolvimento Aberto - " +
"Clique neste botão para executar uma ação.";
public Container criaPainel()
{
// Cria painel
JPanel painel = new JPanel();
// Define layout
painel.setLayout(new BoxLayout(painel, BoxLayout.PAGE_AXIS ));
painel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
painel.setOpaque(true);
// Cria componentes
rotulo = new JLabel("Pare o cursor em cima do botão por alguns segundos");
botao = new JButton("Aperte Aqui!");
// Cria tooltip
botao.setToolTipText(dica);
// Adiciona componentes ao painel
painel.add(rotulo);
painel.add(Box.createVerticalStrut(10));
painel.add(botao);
return painel;
}
public static void criaGUI()
{
// Cria formulario
JFrame formulario = new JFrame("DA - ToolTip");
formulario.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Cria instancia da classe
Dicas dicas = new Dicas();
// Define painel de conteudo
formulario.setContentPane(dicas.criaPainel());
// Define propriedades do formulario
formulario.pack();
formulario.setVisible(true);
}
public static void main(String[] args)
{
// Thread do swing
javax.swing.SwingUtilities.invokeLater(new Runnable() {
@Override
public void run()
{
// Mostra GUI
criaGUI();
}
});
}
}


