import javax.swing.ToolTipManager; import java.awt.BorderLayout; import java.awt.Container; import java.awt.Color; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JToolTip; public class Main { public static void main(String[] argv) throws Exception { // Get current delay int initialDelay = ToolTipManager.sharedInstance().getInitialDelay(); // Show tool tips immediately ToolTipManager.sharedInstance().setInitialDelay(0); // Show tool tips after a second //initialDelay = 1000; //ToolTipManager.sharedInstance().setInitialDelay(initialDelay); // Get current delay int dismissDelay = ToolTipManager.sharedInstance().getDismissDelay(); // Keep the tool tip showing dismissDelay = Integer.MAX_VALUE; ToolTipManager.sharedInstance().setDismissDelay(dismissDelay); String title = "Tooltip Sample"; JFrame frame = new JFrame(title); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container container = frame.getContentPane(); JPanel panel = new JPanel(); panel.setToolTipText("Tooltip
Message"); container.add(panel, BorderLayout.CENTER); JButton button = new JButton("Hello World") { public JToolTip createToolTip() { JToolTip tip = super.createToolTip(); tip.setBackground(Color.yellow); tip.setForeground(Color.green); return tip; } public boolean contains(int x, int y) { if (x < 100) { setToolTipText("Got Green Eggs?"); } else { setToolTipText("Got Ham?"); } return super.contains(x, y); } }; button.setToolTipText("Hello World"); frame.getContentPane().add(button, BorderLayout.NORTH); frame.setSize(300, 150); frame.setVisible(true); } }