Swing TableCellRenderer elegant anpassen

Meisenmann

Mitglied
Hi,

ich nutze einen CustomTableCellRenderer, der TableCellRenderer implementiert und soweit auch wunderbar funktioniert.

Nun habe ich einen Sonderfall, indem ich die Hintergrundfarbe abhängig vom Zelleninhalt anpassen möchte, ansonsten aber alles gleich bleiben soll. Dazu füge ich eine Abfrage in der getTableCellRendererComponent hinzu.

Wenn ich nun einen neuen CustomTableCellRendererX erstelle, dann ist dieser zu 99% gleich implementiert wie der alte CustomTableCellRenderer.

Hat jemand eine Idee, wie ich den alten Renderer geschickt in meiner neuen Klasse nutzen oder erweitern könnte, ohne eine redundante Implementierung.


Danke und viele Grüße,
Meisenmann
 
Moin,

und warum setzt Du den Sonderfall dann nicht mit den entsprechenden Bedingungen in den alten Renderer ???:L

Gruß
Klaus
 
Zuletzt bearbeitet:
Danke für die Antworten, auch wenn es etwas spät kommt.


Moin,

und warum setzt Du den Sonderfall dann nicht mit den entsprechenden Bedingungen in den alten Renderer ???:L

Gruß
Klaus

Das wollte ich nicht machen, da der Renderer semantisch / logisch nicht in diese Implementierungsklasse passt.

public class NeuerRenderer extends CustomTableCellRenderer ?

Das wollte ich auch nicht machen, weil ich dann zwei Stellen im Code habe, an denen zu 90% das Gleiche steht.


Ich hab letztendlich eine Wrapper-Klasse nach dem Decorator-Muster erstellt, die den Renderer um die Funktionalität erweitert. Falls jemand Hilfe diesbezüglich braucht, einfach melden. Ist zwar nicht 100%ig das was ich wollte, erfüllt aber seinen Zweck.


Viele Grüße,
Meisenmann
 

Zurück
Oben