# Problem mit ToolTip: Aussehen/Verzögerung



## hdi (16. Okt 2009)

Hi, 

ich würde für ein paar meiner Swing-Komponenten gerne ToolTips anbieten. Die von Java bereitgestellten ToolTips möchte ich nicht verwenden, aus 2 Gründen:

1) Die Verzögerung zwischen Fokusierung der Komponente und Einblendung des tips soll == 0 sein, und scheinbar kann man das nicht einstellen

2) Das Aussehen würde ich gerne etwas verändern.

Nun also mein erster Ansatz war, der Komponente einen FocusListener zu verpassen, und ihr mein ToolTip (meine eigene Klasse extends JDialog) geben. bei focusGained wird das Tooltip eingeblendet, bei focusLost wird es disposed.

Problem: Das führt zu einer Endlosschleife, da nach dem Einblenden die Komponente den Fokus verliert, wodurch sie das ToolTip disposed, wodurch sie den Fokus wieder kriegt und das toolTip anzeigt...

die focusLost Methode wollte ich nun anpassen, damit das nicht passiert:


```
if (!tip.hasFocus()) {
	tip.dispose();
}
```

Aber scheinbar ist es gar nicht mein ToolTip, das den Fokus bekommt, weil tip.hasFocus() immer false ergibt. Auch nicht wenn ich bei focusGained schreibe:


```
tip.setVisible(true);
tip.requestFocusInWindow(); // oder requestFocus();
```

Wie löse ich das Problem nun? 

Vielen Dank


----------



## hdi (16. Okt 2009)

Sry, das Problem mit der Verzögerung habe ich gerade lösen können mittels

```
ToolTipManager.sharedInstance().setInitialDelay(0);
```
Auf die Klasse bin ich grad erst gestoßen  Aber wie ich das Aussehen ändern kann weiß ich noch immer nicht, zumindest finde ich in dieser Klasse keine Methode die danach klingt soetwas tun zu können.


----------



## Wildcard (16. Okt 2009)

Wie soll es denn aussehen? Einfache Veränderungen sind mit einfachem HTML möglich, bei aufwändigeren Tooltips wirst du das selbst mit Popups lösen müssen (da kannst du dann selbst zeichnen und Components verwenden)


----------



## hdi (16. Okt 2009)

Naja also was schon mal schön wäre wenn es Zeilenumbrüche gäbe (gebe?) . Die normalen ToolTips machen sich so breit wie der Bildschirm es zulässt, das sieht bei einem Text mit 2 Sätzen schon ziemlich kacke aus.

Ansonsten würd ich halt gern n kleines Icon einbauen, und die Hintergrundfarbe ändern. Also insgesamt die ToolTips die man von woanders kennt, mit dem kleinen Ausrufezeichen und der beigen Farbe.


----------



## Wildcard (16. Okt 2009)

Zeilenumbruch mit HTML, Image sollte damit auch funktionieren. Hintergrund sieht wahrscheinlich komisch aus, aber versuch es einfach


----------



## Gast2 (17. Okt 2009)

Müsst mit HTML alles gehen unterstützt auch css.
Aber wenn du doch was eigenes machen willst. Schau mal hier
JScrollableToolTip - Byte-Welt Wiki


----------



## hdi (17. Okt 2009)

Ach echt Java unterstützt auch CSS in HTML? Wusst ich gar nicht.

Danke an alle, ich schau mal was ich daraus jetzt mach


----------



## Gast2 (17. Okt 2009)

Ja soweit ich mich erinnere unerstützt Swing css hab das auch für Tooltips gebraucht.


----------

