Page 1 of 1

UITable setBackground()

PostPosted: Fri Mar 12, 2010 12:00 am
by tak
Wollte gerade die BackgroundColor einer UITable mittels setBackground(UIColor.white) auf weiß setzten jedoch hat die Änderung keine Auswirkung.

kurz gesagt:
In der JVxTable wird der gesetzte Background der UITable nicht auf den Viewport der ScrollPane gesetzt.

Oder ist die Methode setBackground für etwas anderes vorgesehen?

Übrigens wäre es ein nettes Feature wenn es möglich wäre den Background static setzen zu können.

LG, Tommy

Re: UITable setBackground()

PostPosted: Fri Mar 12, 2010 1:02 pm
by Support@SIB
Grundsätzlich sollen sich die Technologie Abhängigen UI Implementierungen so verhalten wie man es gewohnt ist, sprich wenn man einer JTable den Hintergrund setzt, dann wird auch nur der JTable der Hintergrund gesetzt und nicht vollautomatsch auch einer ev. JScrollPane in der die JTable verwendet wird.

Im Fall der SwingTable bzw. JVxTable wäre es aber kein Nachteil auch den Background des JViewport der JScrollPane zu ändern, da die JVxTable selbst eine JScrollPane ist.
Das bedeutet aber auch, daß der Hintergrund des Viewport initial bereits den Hintergrund der Table bekommt und dadurch verändern sich alle Table Darstellungen!
(Nähere Informationen im Support System)

Den Background static zu ändern wäre durchaus machbar, aber dann müssten nahezu alle Methoden static angeboten werden. Das ist für die Wartbarkeit des Codes nicht von Vorteil und auch nicht notwendig.

In Ihrem Fall könnten Sie von der SwingFactory ableiten und createTable überschreiben oder sie verwenden eine Util Klasse für die Erzeugung ihrere Tabellen, wobei die Vorgeschlagene Änderung das setzen des Hintergrundes, auf white, sowieso überflüssig machen würde.