====== Konfiguration des Look&Feel ====== ===== Allgemeines ===== Ein Look&Feel definiert in Java die Art und weise, wie die Oberfläche dargestellt wird. Dazu gehören * Farbgebung * Verwendete Schriftart und Schriftstil * Darstellung von Oberflächenelementen mit Kanten oder abgerundeten Ecken. Grundsätzlich unterstützt EFA in technischer Hinsicht alle in Java definierten Standard Look&Feels. Die geläufigsten Java-Looks sind "Metal", "Nimbus" und "Motif", wobei unter Windows zusätzlich Windows die Looks "Windows" und "WindowsClassic" zur Verfügung stehen. Allein unter Linux zur Verfügung steht das "GTK" Look. Das **Metal Look&Feel** funktioniert am Besten, weil es alle Features von EFA gut unterstützt. Dazu gehören insbesondere die farbigen Schaltflächen auf der Startseite von efaBootsHaus. Die Schrift vom Metal Look&Feel ist auf dem Bildschirm gut lesbar. Weniger gut funktioniert das **Nimbus Look&Feel**, weil es bei der Darstellung der Fahrtenbuchs in efaBootshaus einige Probleme hat. Das Windows Look&Feel hingegen unterstützt keine farbigen Schaltflächen, und auch die Tabreiter sind nicht gut hervorgehoben. Windows/WindowsClassic sowie GTK Look&Feel nutzten eigene Schriftarten, was die Darstellung von EFA nochmal verändert. ===== EFA FlatLaf ===== Alle Look&Feels von Standard Java sind inzwischen in die Jahre gekommen und wirken nicht mehr modern. Zudem hat jedes Look&Feel außer Metal technische oder Darstellungsspezifische Schwierigkeiten. Daher wurde für EFA 2.4 wurde ein neues Look&Feel entwickelt, das auf der Open-Source-Bibliothek [[https://www.formdev.com/flatlaf/|FlatLaf.]] basiert. Wesentliche Features * optimiert für gute Erkennbarkeit von Bildschirminhalten * große Bildschirmelemente, z.B. Scrollbars (einfach zu treffen) * aktueller Look mit abgerundeten Tecken * personalisierbar in Bezug auf Farbgebung {{ :efabths.png?direct&200 |}} Bei der Entwicklung wurde darauf geachtet, dass möglichst viele der Farbgebungs-Eigenschaften auch in den anderen Standard-Java Looks genutzt werden können. Ob das funktioniert, hängt stark von den jeweiligen Standard-Java Looks ab. So fehlt dem Windows-LookAndFeel die Möglichkeit, die Farbe der aktuellen Registerkarte benutzerspezifisch zu setzen. ===== Konfiguration ===== Wie efaBootshaus dargestellt wird, lässt sich über zwei verschiedene Bereiche in EFA konfigurieren: * **Konfiguration -> Allgemein -> Erscheinungsbild**\\ Dies sind die Eigenschaften, die sich auf alle efa Programme auswirken. Also efaBase, efaBths usw.\\ Hier werden insbesondere die Farbgebung festgelegt, und grundsätzliche Angaben zum Bildschirm und die Positionierung des EFA-Fensters darauf.\\ \\ * **Konfiguration -> efa-Bootshaus -> Erscheinungsbild**\\ Diese Eigenschaften wirken sich nur auf efaBoothaus aus. Um ein optimales Ergebnis für efaBootshaus zu erzeugen, sind Anpassungen in beiden Bereichen erforderlich. ===== Allgemein -> Erscheinungsbild ===== {{ :efaflatlaf_config.png?nolink |}} In dieser Registerkarte wird das LookAndFeel für die folgenden EFA-Programme gesetzt: * efaBase * efaBootshaus * emil ==== Look&Feel ==== Setzt die grundlegende Darstellung von efa. Die Liste der verfügbaren Looks ist abhängig vom gewählten Betriebssystem. Das GTK Look&Feel z.B. ist nur unter Linux verfügbar, die Windows Looks hingegen nur unter den Windows-Betriebssystemen. Der "Standard" ermittelt sich aus den Java-Vorgaben zum jeweiligen Betriebssystem, auf dem EFA läuft. Unter Windows ist der Standard Windows-LookAndFeel, unter Linux "GTK". Am Besten für efaBase und efaBths funktionieren hier das **Metal** Look sowie das neu entwickelte **efaFlatLight** Look. ==== Farben für efaFlatLaf ==== Die Standard-Farbgebung für efaFlatLaf soll eine optimale Erkennbarkeit der Bildschirminhalte ermöglichen. Die einzelnen Farben können durch Betätigung der "Farbe auswählen" Schaltfläche angepasst werden. Eine Betätigung des roten "X" dahinter setzt die Farbe auf den Standard von efaFlatLaf zurück. {{ :efaflatlaf_farbauswahl.png?nolink |}} * **Hintergrundfarbe**\\ Die Hintergrundfarbe für alle Masken.\\ Das Flatlaf ist so programmiert, dass es von einer hellen Hintergrundfarbe ausgeht. Diese darf auch releativ dunkel gewählt werden. Einen echten "Dunklen Modus" unterstützt efaFlatLaf derzeit nicht.\\ \\ **Hinweis:** Wenn der "Fahrt beginnen" Dialog vor Änderung der Hintergrundfarbe bereits geöffnet war, so nimmt dieser die neue Hintergrundfarbe erst nach einem efa-Neustart an. Es ist empfehlenswert, nach Abschluss von Änderungen von Farbgebungs-Änderungen immer einen efa-Neustart durchzuführen, auch wenn die meisten Änderungen sich direkt nach dem Schließen des Konfig-Dialogs auf EFA auswirken.\\ \\ * **Hintergrund für Eingabefelder aufhellen (%)**\\ Diese Konfigurationseigenschaft bezieht sich auf Schaltflächen, Eingabefelder, Listenfelder, Tabellenhintergründe. Diese sollen sich von der eigentlichen Hintergrundfarbe abheben. \\ \\ Hier kann eingestellt werden, wieviel % heller die Eingabefelder/Schaltflächen/... sein sollen. Für eine sehr helle Farbgebung reicht hier 8%, für eine dunkler gewählte Farbgebung kann man hier auch mal 15% oder 20% eintragen. \\ Der Standardwert ist 10.\\ \\ * **Akzentfarbe**\\ Die Akzentfarbe wird als Grundlage für alle Scroll-Balken, selektierte Einträge in Listen und für Registerkarten genutzt.\\ \\ * **Fokusfarbe** \\ Das Flatlaf kann das aktuell mit dem Eingabefokus versehene Oberflächenelement durch einen farbigen Rahmen hervorheben. Üblicherweise sollte dies eine relativ helle Farbe sein, damit sie entsprechend auffällig ist.\\ Eine gute Wahl ist es, wenn die Fokusfarbe die Komplementärfarbe zur Akzentfarbe ist. \\ \\ ==== Überschriften-Darstellung ==== * **Überschriften hervorheben**\\ Überschriften der Bootslisten im Hauptfenster von efaBootshaus hervorheben, genauso wie die Überschriften innerhalb von efaConfig und einzelnen Listenelementen bei der Pflege von Booten und Personen.\\ \\ * **Überschriften von Registerkarten hervorheben**\\ Die aktive Registerkarte kann farbig hervorgehoben werden. Diese Einstellung wirkt ausschließlich auf das Metal Look und das WindowsClassic Look. \\ \\ * **Überschriften Hintergrundfarbe**\\ Dies sollte eine dunkle Farbe sein. Es sieht gut aus, wenn die Überschriften-Farbe identisch ist zur Akzentfarbe zu efaFlatLaf.\\ \\ * **Überschriften Textfarbe**\\ Dies sollte eine helle Farbe sein, z.B. weiß.\\ Die Textfarbe wird auch für die Darstellung des Rahmens um die Überschriften verwendet.\\ \\ ==== Tabellenfarben ==== Diese Eigenschaften wirken in allen Look&Feels.\\ \\ * **Tabellen-Überschriften Hintergrundfarbe**\\ Dient zur besseren Hervorhebung der Tabellenüberschriften. \\ Diese Farbe sollte sich durch einen dunkleren Farbton im Vergleich zum Hintergrund der alternierenden Zeilen auszeichnen.\\ \\ * **Tabellen-Überschriften Textfarbe**\\ Bei einer relativ hellen Überschriften-Hintergrundfarbe sollte diese Einstellung "Schwarz" sein, bei einer relativ dunklen "weiß".\\ \\ * **Hintergrund der alternierenden Zeilen**\\ Tabellen können jede zweite Zeile mit einer anderen Hintergrundfarbe versehen.\\ Dabei geht efa davon aus, dass die Hintergrundfarbe hell ist, und die Schriftfarbe immer schwarz. Daher kann hier nur der Hintergrund der alternierenden Zeilen gesetzt werden.\\ \\ * **Selektierte Zeile Hintergrundfarbe**\\ Diese Farbe sollte sich deutlich von der Tabellen-Überschriftenfarbe und dem Hintergrund für die alternierenden Zeilen abheben.\\ \\ * **Selektierte Zeile Textfarbe**\\ Ist die Hintergrundfarbe für die selektierte eher dunkel, sollte hier eine weiße Schriftfarbe gewählt werden.\\ \\ ==== Tabellendarstellung ==== Diese Einstellungen wirken bei allen Look&Feels.\\ * **Tabellen mit Tooltipps für zu lange Texte**\\ Efa funktioniert auch auf releativ kleinen Monitoren. Dies führt dazu, dass Tabelleninhalte nicht immer vollständig dargestellt werden können. Ist diese Einstellung aktiv, wird bei abgeschnittenen Texten beim Überfahren mit der Maus ein Tooltipp mit dem vollständigen Text dargestellt.\\ \\ Hinweis: bei efaBths wird die Dauer bis zum Erscheinen des Tooltipps über "efa-Bootshaus -> Erscheinungsbild" eingestellt.\\ \\ * **Tabellen mit alternierenden Zeilenfarben**\\ Jede zweite Zeile der Tabelle mit einer alternativen Hintergrundfarbe versehen.\\ \\ * **Tabellen sollen bei Filterung Einträge mit Sonderzeichen einfacher finden**\\ Ist die Funktion aktiv, so gilt: Wird in das Suchfeld unter einer Tabelle ein Text nur mit lateinischen Buchstaben gefüllt, findet die Tabelle auch Einträge mit Umlauten. "Andre" findet dann auch einen Eintrag "Andr**é**".\\ Wird allerdings im Suchfeld mindestens ein Umlaut eingegeben, so wird explizit nach Einträgen gesucht, die diesen Umlaut beinhalten.\\ Diese Funktion kann //separat// konfiguriert werden für * Tabellen (standardmäßig aus), * Bootshaus-Listen in efaBths (standardmäßig ein, siehe Efa-Bootshaus->Erscheinungsbild->Bootslisten-Filter-Felder im Expertenmodus) * Vervollständigungs-Listen für Bootsnamen, Personen usw. (standardmäßig ein, siehe Allgemein->Eingabe->Popup-Fenster zur Elementauswahl im Expertenmodus)\\ ==== Tooltips ==== Diese Eigenschaften wirken in allen Look&Feel.\\ Die Hintergrundfarbe des Tooltip kann im Nimbus Look&Feel nicht gesetzt werden.\\ {{ :tooltip_farben.png?nolink |}} * **Tooltipps mit eigener Farbgebung**\\ Ist diese funktion ausgeschaltet, werden die Standard-Farben des jeweiligen Look&Feel genutzt.\\ \\ * **Tooltipp Hintergrundfarbe**\\ Standard-Hingergrundfarbe aller Tooltipps in efa.\\ \\ * **Tooltipp Textfarbe**\\ Standard-Textfarbe aller Tooltipps in efa.\\ Im FlatLaf wird diese Farbe auch für den Rahmen des Tooltipps genutzt.\\ \\ * **Tooltipp-Überschriften Hintergrundfarbe**\\ Diese Einstellung wird derzeit nur von efaBootshaus genutzt, ist zukünftig aber für mehrere Bereiche vorgesehen. Diese Überschriftenfarbe sollte sich //leicht// von der Standard-Hintergrundfarbe abheben. Es ist //nicht// empfehlenswert, hier eine dunkle Hintergrundfarbe zu wählen, da dies bei Tooltipps sehr dominant wirkt.\\ \\ Diese Einstellung wird auch verwendet, wenn "Tooltipps mit eigener Farbgebung" ausgeschaltet ist.\\ \\ * **Tooltipp-Überschriften Textfarbe**\\ Diese Einstellung wird derzeit nur von efaBootshaus genutzt, ist zukünftig aber für mehrere Bereiche vorgesehen. Die Textfarbe sollte identisch sein mit der Standard Tooltipp Textfarbe.\\ Diese Einstellung wird auch verwendet, wenn "Tooltipps mit eigener Farbgebung" ausgeschaltet ist.\\ \\ === Schriftarten === ==== Schriftart für efaBase ==== Die Schriftart für efaBase kann unabhängig von der Schriftart für efaBootshaus eingestellt werden. Die Einstellung dafür finden Sie im Bereich //Allgemein --> Erscheinungsbild// ganz unten auf der Seite.\\ Die Schriftart für andere efa-Programme (efaWett, emil, ...) ist nicht konfigurierbar. Die hier vorhandenen Einstellungen sind in allen Look&Feel nutzbar.\\ {{ :efaconfig_schriftart_efabase.png?direct&200 |}} Für efaBase ist eine Schriftgröße von 14 Punkt empfehlenswert.\\ \\ Die Schriftart //"-- Standard --"// stellt auf die "logische" Java-Schriftart "Dialog" ab - eine serifenlose Schrift zum Lesen auf dem Bildschirm. Die sich hinter "Dialog" tatsächlich verbergende Schriftart ist für jedes Betriebssystem anders definiert. Die Schriftart kann durch Betätigung der Schaltfläche geändert werden.\\ Die Betätigung des roten "X" setzt die Schrift wieder auf "-- Standard --" zurück. ==== Schriftart für efaBootshaus ==== {{ :efaconfig_schriftart_efabootshaus.png?direct&200 |}} Die Schrift für efaBootshaus kann unter // efaBootshaus --> Erscheinungsbild // eingestellt werden.\\ Eine Schriftgröße von 18 Punkt ist empfehlenswert.\\ Zudem sollte eine Schrift gewählt werden, deren Buchstaben nicht //zu// breit sind. So hat z.B. die Schriftart Tahoma eher breite Buchstaben, was in den Listen von efaBootshaus auf kleineren Monitoren schnell zu abgeschnittenen Texten führt.\\ Besser eignen sich unter Windows die Schriftarten "Arial" und "Segoe UI".\\ ==== Auswahldialog für Schriftart ==== {{ :efaconfig_schriftart_auswahl.png?direct&200 |}} Der Schriftart wählen Dialog zeigt die auf dem System verfügbaren Schriftarten in einer Auswahlliste an. Dabei wird der jeweilige Name der Schriftart als Vorschau benutzt. Bei Symbolschriften kann der Name daher manchmal aus Kästchen oder anderen Symbolen bestehen. Zur besseren Auswahl von gut auf dem Bildschirm lesbaren Schriften kann das Auswahlkästchen "Liste auf Bildschirmschriften reduzieren" angehakt werden. Es werden dann nur noch bekannte Bildschirmschriften angezeigt. Die Auswahl der reduzierten Liste ist von efa fest vorgegeben; es kann also sehr gut sein, dass noch weitere brauchbare Schriften in der vollständigen Liste angezeigt werden. ===== Vorgehensweise zur Änderung der Farben von FlatLaf ===== {{ :efaflatlaf_farbauswahl.png?direct |}} Durch die Betätigung der Schaltfläche "Farbe auswählen" wird der Standard-Farbauswahl-Dialog von Java geöffnet. {{ :farbkonfig_swatches.png?direct |}} * **Swatches**\\ Diese Registerkarte bietet eine direkte Auswahl von Farben aus dem vollen Spektrum.\\ Sie lässt sich gut nutzen zur Auswahl von Hintergrunds- und Textfarben von Überschriften.\\ \\ * **RGB**\\ {{:farbkonfig_rgb.png?direct&200 |}}Die Registerkarte RGB ermöglicht die Auswahl der Farbkomponenten über die drei Grundfarben Rot, Grün, Blau. Jede der Farben kann auf einer Skala von 0 bis 255 gewählt werden.\\ Besonders relevant ist die Direkteingabe eines hexadezimalen Farbcodes. Hier können bereits bekannte Farbwerte (z.B. aus den Themen im Folgekapitel) per Copy/Paste eingetragen und übernommen werden. \\ \\ \\ \\ * **HSL**\\ {{:farbkonfig_hsl.png?direct&200 |}}Die HSL-Registerkarte ist der Freund einer jeden Person, die Hintergrundsfarben variieren möchte. :-) \\ In dem links nebenstehenden Bildschirmfoto sieht man die Standard-Hintergrundfarbe von efaFlatLaf. Diese ist ein leicht orangenes Grau (dies ist erkennbar daran, dass der viereckige Farbbereich bei mehr Sättigung in den orangenen Farbton wechselt). Auch wenn es im direkten Farbwert kaum auffällt, sorgt dies für eine leicht warme Farbgebung von efa.\\ \\ Diese Farbe wurde bewusst gewählt, auch für eine einfachere Anpassung des Basis-Themas.\\ \\ Von hier aus ausgehend kann man beim FlatLaf gut den Helligkeitswert ändern und z.B. ein dunkleres LAF erzeugen, das die Kontraste mehr hervorhebt. {{ :farbkonfig_hsl_dunkler.png?direct&200 |}} {{ :efabths_dunkler.png?direct&200 |}} \\ \\ Genauso lässt sich aber auch duuch Veränderung des Sliders für "Farbton" ein rötlicher Ton der Hintergrundfarbe erzeugen. {{ :farbkonfig_hsl_roetlich.png?direct&200 |}} {{ :efabths_roetlich.png?direct&200 |}} \\ \\ ===== Themen für FlatLaf ===== ==== Flatlaf Standard, heller, dunkler ==== ** Flatlaf heller ** ^ Eigenschaft ^ Hex-Farbwert für RGB-Registerkarte ^ | Hintergrund | F4F3EF | | Eingabefelder aufhellen | 8% | ** Flatlaf dunkler ** ^ Eigenschaft ^ Hex-Farbwert für RGB-Registerkarte ^ | Hintergrund | E5E3D9 | | Eingabefelder aufhellen | 14% | ==== Nimbus ==== Eine Nimbus-ähnliche Farbgebung ist erreichbar über folgende Farbcodes:\\ {{ :efabths_nimbus_style.png?direct&200|}} ^ Eigenschaft ^ Hex-Farbwert für RGB-Registerkarte ^ | Hintergrund | D6D9DF | | Eingabefelder aufhellen | 20% | | Akzent | 5388BA | | Überschriften HG | 7E9CB8 | | TabelleÜberHG | 6190BB | | TabelleAlternate | D8E3ED | | TabelleSelColor | 5E86AA | | ToolTipHG | E0EAF4 | | ToolTIPHG2 | EFF4F9 | | TooltipTextColor | 15416A | ==== Metal==== Eine Metal-ähnliche Farbgebung ist erreichbar über folgende Farbcodes:\\ {{ :efabths_metal_style.png?direct&200|}} ^ Eigenschaft ^ Hex-Farbwert für RGB-Registerkarte ^ | Hintergrund | EEEEEE | | Eingabefelder aufhellen | 10% | | Akzent | 4878A5 | | Überschriften HG | 4878A5| | TabelleÜberHG | B1C7DC | | TabelleAlternate | DBEAF9 | | TabelleSelColor | 4878A5 | | ToolTipHG | E0EDF9 | | ToolTIPHG2 | FAFCFE | | TooltipTextColor | 15416A |