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(); } }); } }