Wie wird ein Teil eines JLabels hervorgehoben?

Bevor jemand HTML vorschlägt, erkläre ich später, warum dies hier keine Option ist. Ich habe eine Tabelle, die eine Spalte mit Textzellen enthält. Ich muss in der Lage sein, einen Teil des Textes in jeder Zelle hervorzuheben. Wenn die Zelle zum Beispiel "cat foo dog" enthält, möchte ich vielleicht "foo" hervorheben.

Meine aktuelle Methode besteht darin, einen benutzerdefinierten TableCellRenderer zu verwenden, der HTML-Code in eine JLabel-Komponente einfügt, die gerendert wird, und für eine Weile war es gut. Dann bemerkte ich, dass, wenn der Text in der Zelle zu lang wurde, um in die Spaltenbreite zu passen, er nur den Text ohne das normale "..." abgeschnitten hat, das in diesem Fall normalerweise vorkommt. Daher wussten Benutzer nicht, dass es mehr Text gibt, den sie nicht sehen. Das andere Problem war, dass wenn der ursprüngliche Text selbst HTML enthielt, was in meinem Fall manchmal der Fall ist, die Zelle nicht richtig gerendert würde. Ich weiß, ich könnte einfach dem HTML-Code entkommen, aber ich hätte immer noch das vorhergehende Problem.

Wenn ich eine andere Komponente als jlabel verwende, sehen die Zellen meiner Tabelle seltsam aus. Hat jemand irgendwelche Vorschläge? Vielen Dan

Antworten auf die Frage(6)

Ihre Antwort auf die Frage