Zum Inhalt springen

JTabel Text formatieren - Performance?


blubbla

Empfohlene Beiträge

Hallo,

ich suche eine möglichst perfomante Lösung für folgende Aufgabe:

Bestimmte Werte sollen mit einer JTable dargestellt werden. Aufbau ist:

Name Wert

also beliebig viele Zeilen, 2 Spalten.

Die Daten sind nach Typen gruppiert. Die veschiedenen Typen stehen zur Laufzeit schon fest und ändern sich auch nicht mehr. Es kommen dann nur noch neue Datenpaare (Name Wert) hinzu, die in unter dem entsprechenden Typ eingruppiert werden. Soll dann so aussehen:

Typ1 | Gesamtzahl

Name | Wert

Name | Wert

Typ2 | Gesamtzahl

Name | Wert

Typ3 | Gesamtzahl

Wenn nun ein neues Datenpaar des Typs1 hinzukommt, sieht das Ganze so aus:

Typ1 | Gesamtzahl

Name | Wert

Name | Wert

Name | Wert

Typ2 | Gesamtzahl

Name | Wert

Typ3 | Gesamtzahl

So, mein Problem ist eigentlich nur die Fettschrift der Typen-Spalten. Bis jetzt hab ich es so gemacht, dass ich einfach den DefaultTableCellRenderer überschrieben habe und bei jedem String prüfe, ob es ein String vom Typ1, Typ2, ... ist. Die Typen liegen in einer HashMap vor, sieht dann also Pseudocodemaessig so aus:

WENN map.containskey(value.toString())

DANN component.setFont(FETT).

Gibt es eine einfachere Möglichkeit die Zelleninhalte dieser Zeilen fett einzufärben?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Auch das JLabel unterstützt HTML-Tags zu Formatierung seines Inhaltes. In dem Fall würde das aber eigentlich wieder aufs selbe Problem hinauslaufen, und meiner Meinung nach auch mehr Arbeit machen.

Was mir dazu nur sonst noch einfällt ist, dass du für jeden Typ eine eigene Tabelle anlegst und die entsprechenden Werte dann in die Tabellen einsortierst. Dann könntest du deine Zeile mit "Type - Gesamtwert" jeweils als Titelzeile einrichten und bräuchtest dir um die Hervorhebung keine Sorgen mehr zu machen.

Ansonsten, was gibt es denn für Probleme mit deiner Methode? So wie sich das liest funktioniert sie doch, oder?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Methode funktioniert eigentlich wunderbar (zusätzlich sind noch ein paar Sachen drin, z.B. werden die einzelnen Werte noch sortiert usw.). Aber die GUI frisst im Moment einfach noch zu viele Ressourcen und wir sind grade dabei alles zu überprüfen was sich irgendwie schneller machen lassen würde...

und da ist mir eben aufgefallen dass ja bei jedem Einfügen noch gecheckt wird, ob der Wert fett geschrieben werden soll, obwohl ja nach dem initialisieren sowieso klar ist dass kein fetter String mehr hinzukommt.

Die Möglichkeit mit mehreren Tabellen werd ich mal ausprobieren, danke :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...