Tooltipgröße einstellen

Durch Änderung der Look-and-feel-Einstellungen kann u.a. auch die Größe von Tooltips eingestellt werden.

Im Beispiel wird ein einfacher kleiner JFrame mit einem funktionslosen Button erzeugt, dem über die Methose setToolTipText() ein Tooltip zugewiesen ist. Um diesen Tooltip im Vergleich zur Standardeinstellung vergrößert darzustellen, wird im Konstruktor ein Objekt vom Typ FontUIResource erzeugt. Hierbei handelt es sich um eine Ableitung der Klasse Font, die speziell verwendet wird, um Standard-Eigenschaften zu setzen. Dies geschieht durch die statische Methode put() der Klasse UIManager. Ihr wird neben der FontUIResource ein String übergeben, der als Properties-Key dient.
Eine Art und Weise der Ermittlung hier zur Verfügung stehender Keys wird im Artikel Look-And-Feel.Defaults ermitteln.php beschrieben.

import java.awt.Font;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.UIManager;
import javax.swing.plaf.FontUIResource;

public class ChangeTooltipFont {

    public ChangeTooltipFont() {
        UIManager.put("ToolTip.font",
                new FontUIResource("SansSerif", Font.BOLD, 24));
        initGUI();
    }

    private void initGUI() {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocationRelativeTo(null);
        JButton butt = new JButton("klick");
        butt.setToolTipText("Button mit gro\u00DFem Tooltip");
        frame.add(butt);
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        new Thread(new Runnable() {
            public void run() {
                new ChangeTooltipFont();
            }
        }).start();
    }
}

Die hier beschreibene Methode bewirkt eine programmweite Änderung der Tooltip-Schrift. Möchte man lediglich einen bestimmten Tooltip ändern, so darf dies nicht über die Properties-Einstellungen erfolgen. Hierzu sollte der Tooltip mit HTML-Text versehen werden, wie in diesem Artikel beschrieben.

Button mit großem Tooltip