Page 1 of 1

Möglichkeiten für Layoutanpassungen

PostPosted: Tue Apr 19, 2016 11:16 am
by mzeller
Hallo,

wie im anderen Thread schon gesagt, überlegen wir gerade, ob wir JVs verwenden sollen.

Fragen bezüglich der Gestaltungsmöglichkeiten:

Hier steht, dass man leicht css-Klassen für die Weboberfläche hinzufügen kann:
http://forum.sibvisions.com/viewtopic.php?f=11&t=903

Wie kann ich diesen Beispiel-Code verstehen. Da wird ja z.B. zu einem Button eine css-Klasse hinzugefügt:

Code: Select all
UIButton butReload = new UIButton("Reload");
Style.addStyleNames(butReload, "optionbutton", "reload");


Für die Desktop-Version wirkt sich die zugewiesene CSS-Klasse dann nicht aus oder?

Da ich den Code ja nur einmal für verschiedene Darstellungen schreiben brauche: wie schaffe ich dann ein einheitliches Layout für z.B. Weboberfläche und Desktop-Version?

LG
Martin Zeller

Re: Möglichkeiten für Layoutanpassungen

PostPosted: Tue Apr 19, 2016 12:14 pm
by Development@SIB
Das Thema Styling für unterschiedliche Technologien ist immer schwierig und hängt von den verwendeten Technologien ab.

Beispielsweise wäre es möglich mit CSS und Vaadin bzw. JavaFX fast idente Ergebnisse zu erzielen. Allerdings muss schon auch berücksichtigt werden wie die Anwendung eingesetzt werden soll. Eine Desktop Anwendung hat meist mehr zu bieten und ist "unübersichtlicher" als eine Web Anwendung. Das spiegelt sich auch im Styling wieder.

Wenn es nur darum geht, die Farben/Fonts zu ändern, dann hat JVx die üblichen Möglichkeiten mit setForeground, setFont usw.

Wenn es aber eigentlich um Technologie abhängiges Styling geht, dann kann man schon CSS verwenden und wenn dann Swing als UI Technologie eingesetzt wird, müsste man ein geeignetes LaF verwenden um dort mit CSS auch Ergebnisse zu erhalten.

Aber richtig, wenn ein Style gesetzt wird ist mit Standard Swing nichts zu sehen.Es gibt natürlich immer die Möglichkeit, abhängig von der Technologie ein unterschiedliches Styling anzuwenden. Wenn Web, dann. Wenn Swing dann, usw.

JVx erfindet die unterschiedlichen Technologien nicht neu, sondern ermöglicht die einheitliche Verwendung und setzt auf Technologie Unabhängigkeit. JVx abstrahiert, setzt aber nicht voraus das alle Technologien die gleichen Möglichkeiten bieten. Wir versuchen zwar immer möglichst viel zu ermöglichen, wie z.B. MDI bei JavaFX obwohl JavaFX kein MDI System hat, aber manche Optionen erlauben gewisse Technologien oft gar nicht.