blubbla Geschrieben 9. Juni 2009 Teilen Geschrieben 9. Juni 2009 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
toobeee Geschrieben 9. Juni 2009 Teilen Geschrieben 9. Juni 2009 es gibt components die html unterstützen, ich weiss jetzt grad nicht welche. die JEditorPane z.b. unterstützt dies. Evtl. kannst du ja mal probieren ob die formatierung mit HTML perfomanter ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Dragon8 Geschrieben 10. Juni 2009 Teilen Geschrieben 10. Juni 2009 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
blubbla Geschrieben 10. Juni 2009 Autor Teilen Geschrieben 10. Juni 2009 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.