Hallo zusammen,
ich habe probiert ein eigenes Tooltip zu erstellen, da es für die grafische Darstellung keines gibt, also habe ich zunächst über einen Mouselistener die richtige Position ermittelt und möchte dann das tooltip anzeigen, nach bspw. 2 Sekunden soll das Tooltip dann wieder verschwinden.
Deshalb habe ich einen Timer benutzt, der exemplarische Code sieht so aus:
Leider funktioniert das nicht. Die Tasks die gestartet werden, werden offensichtlich nicht beendet, das heißt, dass zwar das Tooltip geschlossen wird aber wenn ich auf den Frame dispose() anwende, dann beendet das Programm nichtm weil noch ein Task läuft.
Ich habe es dann mal mit der Brechstange probiert und schmeiße danach einfach immer eine RuntimeException damit der Task abbricht aber auch hier funktioniert es manchmal nicht, auch dann wird das Programm nicht korrekt beendet weil dort noch etwas läuft.
Müsste der Thread nicht beendet sein, wenn der Code durchgelaufen ist? Wie kann ich dafür sorgen dass der Thread/Task definitiv beendet ist nachdem das Tooltip-Fenster geschlossen wurde?
Besten Dank und Grüße
ich habe probiert ein eigenes Tooltip zu erstellen, da es für die grafische Darstellung keines gibt, also habe ich zunächst über einen Mouselistener die richtige Position ermittelt und möchte dann das tooltip anzeigen, nach bspw. 2 Sekunden soll das Tooltip dann wieder verschwinden.
Deshalb habe ich einen Timer benutzt, der exemplarische Code sieht so aus:
Java:
if (!toolTipInput.equals(""))
{
if (toolTip.isVisible())
toolTip.dispose();
toolTip = new JWindow();
// finde richtige Position und "baue" das Tooltip"
toolTip.setVisible(true);
timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
toolTip.dispose();
}
}, 2000);
}
Leider funktioniert das nicht. Die Tasks die gestartet werden, werden offensichtlich nicht beendet, das heißt, dass zwar das Tooltip geschlossen wird aber wenn ich auf den Frame dispose() anwende, dann beendet das Programm nichtm weil noch ein Task läuft.
Ich habe es dann mal mit der Brechstange probiert und schmeiße danach einfach immer eine RuntimeException damit der Task abbricht aber auch hier funktioniert es manchmal nicht, auch dann wird das Programm nicht korrekt beendet weil dort noch etwas läuft.
Müsste der Thread nicht beendet sein, wenn der Code durchgelaufen ist? Wie kann ich dafür sorgen dass der Thread/Task definitiv beendet ist nachdem das Tooltip-Fenster geschlossen wurde?
Besten Dank und Grüße
Zuletzt bearbeitet: