Tooltip dynamisch setzen

Colt45

Aktives Mitglied
Moin, ich hab ne JList mit Einträgen aus einer Datenbank und möchte nun zu jedem Eintrag einen Tooltip erstellen, der weitere Attribute aus der Tabelle anzeigt, allerdings sind die bei jedem Eintrag anders, d.h. rein theoretisch müsste ja jedesmal, wenn der cursor auf einen eintrag gelangt, ein statement an die datenbank geschickt werden, das die entsprechenden Informationen ausspuckt. Ich hab mich zwar noch nicht genauer damit beschäftigt, aber mir erscheint das etwas umständlich. Hat jemand einen besseren Ansatz?
 
Du kannst von JList
Code:
getToolTipText(MouseEvent ev)
überschreiben, vom MouseEvent kriegst du die Koordinaten der Maus, danach kannst du ausrechnen, bei welchem Eintrag die Maus ist.
 
jo, soweit klar. Mir gings nur darum, das irgendwie eleganter zu lösen und nicht jedesmal ein Select-Statement abzufeuern, wenn ein tooltip angezeigt wird. Weiß nicht, z.B. bei Programmstart gleich die Tooltips definieren und irgendwo ablegen...
Ich such wie gesagt nur einen Ansatz, wie ich an diese Aufgabe rangehe.
 
Ich glaube nicht, dass es einfacher geht. Mit Renderern kommst du hier nicht weiter, weil die ja nur zum Zeichnen dienen. Mach doch einfach eine Liste mit den ToolTipTexten, dann gibst du in der getToolTipText halt das entsprechende zurück.
 
Is dann glaub noch umständlicher. Folgender Sachverhalt is halt gegeben:
Bei Programmstart ist die Liste leer und bekommt dann peu a peu so knapp 20 einträge, die sich aber immer mal wieder ändern, somit sich auch der entsprechende tooltip ändern muss. Das alles also vorher zu definieren macht auch keinen sinn. Ich weiß zwar nicht, wie langsam das dann wird, wenn ich tatsächlich jedesmal ein SQL-Statement abschick, aber es muss doch irgendwie eine elegante Lösung dafür geben. Ich werds morgen mal ausprobieren und dann meine Ergebnisse posten. Wenn aber trotzdem noch jemand einen Vorschlag hat, dann her damit.
 
Dort wird auf auf die schon erwähnte (einfachere) Methode verwiesen - aber ich glaube, es geht gar nicht mehr um Swing, sondern um SQL ???:L
 
Ich glaub dein Problem liegt woanders, welche daten liegen denn in deinem Model? Wenn du da nämlich nur einen String von einem Wert reingespeichert hast, und du im Tooltip die weiteren Werte anzeigen willst ist das suboptimal.
Pack in die liste einfach ein Objekt, das einen kompletten Datensatz deiner Tabelle hält. Dann schreibst du dir einen Renderer, der den gesuchten wert aus deinem Objekt anzeigt und einen Tooltip aus den anderen fabriziert.
 

Neue Themen


Zurück
Oben