karsten lentzsch jgoodies von swing nach javafx...look & feel styling fokus gesten native swing...
TRANSCRIPT
![Page 1: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/1.jpg)
VON SWING NACH JAVAFX
Karsten Lentzsch – JGoodies
![Page 2: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/2.jpg)
JGoodies: Karsten Lentzsch
Java-GUI-Bibliotheken und -Rahmenwerk
Beispielanwendungen
Berate zu Java-Desktop
Helfe beim Oberflächen-Bau
Didaktik und Produktionskosten
Swing. Und nun?
Renovieren, umziehen, neu bauen
![Page 3: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/3.jpg)
Vorher
![Page 4: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/4.jpg)
Nachher
![Page 5: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/5.jpg)
Vorher
![Page 6: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/6.jpg)
Nachher
![Page 7: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/7.jpg)
Wege von Swing nach JavaFX
kennenlernen und bewerten können
Ziel
![Page 8: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/8.jpg)
Wege von Swing in die Zukunft
kennenlernen und bewerten können
Ziel
![Page 9: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/9.jpg)
Gliederung Einleitung
Code
App-Standardisierung (UWP)
Sonstiges
![Page 10: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/10.jpg)
![Page 11: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/11.jpg)
Universal Desktop API
return new ListViewBuilder()
.padding(Paddings.TOP_LEVEL)
.labelText("_Contacts:")
.listView(contactsTable))
.listBar(newButton, editButton, deleteButton)
.build();
![Page 12: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/12.jpg)
Gliederung Einleitung
Lagebeschreibung
Technischer Vergleich
Toolkit und Rahmenwerk
Was nun? Was tun?
Code
App-Standardisierung
Sonstiges
![Page 13: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/13.jpg)
Typische Geschäftsanwendung
Aktions- oder datenzentrierte Navigation
Suchen und Filtern
Ergebnistabellen/-listen
Vorschau und Detailanzeigen
Read-Only-Ansichten
Editoren
Standarddialoge für Nachrichten, Fragen, Auswahl, Kleineingaben
![Page 14: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/14.jpg)
Situation
Toolkit: Swing, SWT, JavaFX oder HTML5?
Unklare Situation zur Zukunft
Geräte: Desktop, Tablet, Telefon
Deployment
Anwender sind aus dem Web-Alltagsgebrauch mehr und mehr gute Gestaltung gewohnt. Und fordern die ein.
![Page 15: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/15.jpg)
![Page 16: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/16.jpg)
![Page 17: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/17.jpg)
![Page 18: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/18.jpg)
![Page 19: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/19.jpg)
Swing vs. JavaFX I
Animationen
Render-Engine
Komponenten: Intern und Drittanbieter
Properties und Binding
Look & Feel
Styling
Fokus
Gesten
Native
![Page 20: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/20.jpg)
Swing vs. JavaFX II
Wie/wo behebt man Probleme?
Bibliotheken und Rahmenwerke (Marktlage)
Reife: brauchbar auf Java 6, 7, 8?
Wartung durch Oracle
J2SE (auch: Bekenntnis durch Oracle)
Industriestandard, Fachkräfte, Ausbildung
Musterunterstützung
Java 9
![Page 21: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/21.jpg)
Was haben wir oberhalb des Toolkits?
![Page 22: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/22.jpg)
JGoodies-Stack I
Anwendungsrahmenwerk (JSR 296)
Resourcen, Actions, Event Handling, Life Cycle, Hintergrundprozesse, I18n
Komponenten
zeitgemäße Komponenten, API-Erweiterungen
Layout
Basis-Layouts, komplexe Layouts
Dialoge
Dialogvereinfachungen, Standard-Dialoge
![Page 23: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/23.jpg)
JGoodies-Stack II
Validierung
Suche
Autovervollständigung, Desktop-Suche
Navigation und Seitenfluss
Standardnavigationsarten
Seiten-Lebenszyklus
Blockieren
![Page 24: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/24.jpg)
JGoodies-Stack III
Objektpräsentation
Tabellen, Listen, einheitlich
Style Guide Compliance
Stilprüfer für Layouts, Dialoge, Formulare
Hilfen zu konsistenter Gestaltung
Riesenhaufen Utilities
Actions, Handler, Eingabehilfe, Programmierhilfen
Toolkit-Alltagsaufgaben
Toolkit-Probleme umschiffen
![Page 25: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/25.jpg)
Java Runtime
Lay
ou
t
Map
s
3D
Ch
arts
JID
E
Co
mm
on
s
Lo
ok&
Fe
el
Bin
din
g
Lo
gg
ing
UI-
Per
sist
enz
Sw
ing
X
JSR
29
6
Val
idie
run
g
Ko
mp
on
ente
n
Ren
der
er
…
Dia
log
e
Met
a-D
esig
n
Nav
igat
ion
Co
mp
leti
on
Acc
ess
ibili
ty
Uti
ls
…
Mo
del
le
Sta
nd
ard
s
Anwendungscode
Support für Standard-Anwendungen
UW
P
![Page 26: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/26.jpg)
Was sollen wir tun?
![Page 27: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/27.jpg)
Renovieren, umziehen, neu bauen?
![Page 28: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/28.jpg)
Möglichkeiten
Toolkit wechseln
Gestaltung verbessern
Implementierung vereinfachen
Absprung in neue Welt vorbereiten
Investitionen schützen
Handfertigung -> Industrielle Fertigung
![Page 29: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/29.jpg)
![Page 30: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/30.jpg)
![Page 31: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/31.jpg)
![Page 32: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/32.jpg)
![Page 33: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/33.jpg)
Nachher
![Page 34: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/34.jpg)
![Page 35: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/35.jpg)
![Page 36: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/36.jpg)
Investitionsschutz
Technik-Muster
Implementierung
Visuelle Muster
Bretter
Möbel
Möbelgruppe
Raumaufteilung
Gebäudetypen
![Page 37: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/37.jpg)
Investitionsschutz
Auf Standard-Muster schwenken
Flexible Implementierung wählen
Toolkit-unabhängig
Oberfläche zeitgemäß renovieren
Navigation standardisieren
Bildschirmfluss standardisieren
Anwendungstypen katalogisieren
![Page 38: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/38.jpg)
Gliederung Einleitung
Code Muster und Implementierungsstil
Layout
Objektdarstellung und Tabellen
Binding
Event Handling
Hintergrundprozesse
App-Standardisierung
Sonstiges
![Page 39: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/39.jpg)
Prinzip
Swing
JavaFX
„Roher“ Code
Abstrahiert
Standardisiert Standardisiert
![Page 40: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/40.jpg)
Prinzip
Swing
,JavaFX, GWT, Angular
„Roher“ Code
Abstrahiert
Standardisiert Standardisiert
![Page 41: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/41.jpg)
![Page 42: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/42.jpg)
![Page 43: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/43.jpg)
Implementierungsaufgaben
Fachobjekt
Komponenten
Layout
Objektpräsentation
Datentransport Fachobjekt – GUI
Ereignisbehandlung
Service-Aufrufe im Hintergrund
Internationalisierung
![Page 44: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/44.jpg)
Fachklasse
public class Contact {
private String firstName;
private String lastName;
private String phone;
...
public String getPhone() {
return phone;
}
public void setPhone(String newValue) {
phone = newValue;
}
...
![Page 45: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/45.jpg)
Mit bound-Properties
public class Contact extends Bean {
public static final String PROPERTY_PHONE
= “phone”;
...
public void setPhone(String newValue) {
firePropertyChange(PROPERTY_PHONE,
getPhone(), phone = newValue);
}
...
![Page 46: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/46.jpg)
ContactEditorView (1/5) Swing
final class ContactEditorView {
JTextField firstNameField;
JTextField lastNameField;
JTextField phoneField;
...
JButton okButton;
ContactEditorView() {
initComponents();
}
...
![Page 47: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/47.jpg)
ContactEditorView (1/5) FX
final class ContactEditorView {
TextField firstNameField;
TextField lastNameField;
TextField phoneField;
...
Button okButton;
ContactEditorView() {
initComponents();
}
...
![Page 48: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/48.jpg)
ContactEditorView (2/5) Swing
private void initComponents() {
JGComponentFactory factory =
JGComponentFactory.getCurrent();
firstNameField = factory.createTextField();
lastNameField = factory.createTextField();
phoneField = factory.createPhoneField();
faxField = factory.createFaxField();
emailField = factory.createEmailField();
tagsField = factory.createTextField();
tagsField.setSelectOnFocusGainEnabled(false);
okButton = factory.createButton(); // No text
}
![Page 49: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/49.jpg)
ContactEditorView (2/5) FX
private void initComponents() {
FXComponentFactory factory =
FXComponentFactory.getCurrent();
firstNameField = factory.createTextField();
lastNameField = factory.createTextField();
phoneField = factory.createPhoneField();
faxField = factory.createFaxField();
emailField = factory.createEmailField();
tagsField = factory.createTextField();
okButton = factory.createButton(); // No text
}
![Page 50: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/50.jpg)
Gliederung Einleitung
Code Muster und Implementierungsstil
Layout (einfach, komplex, Dialoge)
Objektdarstellung und Tabellen
Binding
Event Handling
Hintergrundprozesse
App-Standardisierung
Sonstiges
![Page 51: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/51.jpg)
ContactEditorView (3/5) Swing
private JComponent buildContent() {
FormLayout layout = new FormLayout(
"pref, $lcgap, 74dlu, 2dlu, 74dlu",
"p, $lg, p, $lg, p, $lg, p, $lg, p");
PanelBuilder builder = new PanelBuilder(layout);
builder.addLabel("&First name:", CC.xy (1, 1));
builder.add(firstNameField, CC.xyw(3, 1, 3));
...
return builder.build();
}
![Page 52: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/52.jpg)
ContactEditorView (3/5) Swing
private JComponent buildContent() {
return new FormBuilder()
.columns("pref, $lcgap, 74dlu, 2dlu, 74dlu")
.rows("p, $lg, p, $lg, p, $lg, p, $lg, p")
.add(“&First name:").xy (1, 1)
.add(firstNameField).xyw(3, 1, 3)
.add(“&Last Name:") .xy (1, 3)
.add(surnameField) .xyw(3, 3, 3)
.add("&Phone, Fax:").xy (1, 5)
.add(phoneField) .xy (3, 5)
.add(faxField) .xy (5, 5)
.build();
}
![Page 53: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/53.jpg)
ContactEditorView (3/5) FX
private Node buildContent() {
return new FXFormBuilder()
.columns("pref, $lcgap, 74dlu, 2dlu, 74dlu")
.rows("p, $lg, p, $lg, p, $lg, p, $lg, p")
.add(“_First name:").xy (1, 1)
.add(firstNameField).xyw(3, 1, 3)
.add(“_Last Name:") .xy (1, 3)
.add(surnameField) .xyw(3, 3, 3)
.add("&Phone, Fax:").xy (1, 5)
.add(phoneField) .xy (3, 5)
.add(faxField) .xy (5, 5)
.build();
}
![Page 54: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/54.jpg)
![Page 55: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/55.jpg)
ContactHomeView Swing
private JComponent buildContent() {
return new ListViewBuilder()
.border(Borders.TOP_LEVEL)
.labelText("&Contacts:")
.listView(contactsTable))
.listBar(newButton, editButton, deleteButton)
.build();
}
![Page 56: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/56.jpg)
ContactHomeView FX
private Pane buildContent() {
return new FXListViewBuilder()
.padding(FXPaddings.TOP_LEVEL)
.labelText("_Contacts:")
.listView(contactsTable))
.listBar(newButton, editButton, deleteButton)
.build();
}
![Page 57: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/57.jpg)
ContactHomeView (neu) Swing
private JComponent buildContent() {
return new ListViewBuilder()
.padding(Paddings.TOP_LEVEL)
.labelText("_Contacts:")
.listView(contactsTable))
.listBar(newButton, editButton, deleteButton)
.build();
}
![Page 58: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/58.jpg)
ContactEditorView (4/5) Swing
void showDialog(EventObject evt) {
new PropertyPaneBuilder()
.parent(evt)
.title("Contact Editor")
.content(buildContent())
.commitCommands(okButton, CommandValue.CANCEL)
.showDialog();
}
![Page 59: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/59.jpg)
ContactEditorView (4/5) FX
void showDialog(EventObject evt) {
new FXPropertyPaneBuilder()
.owner(evt)
.title("Contact Editor")
.content(buildContent())
.commitCommands(okButton, CommandValue.CANCEL)
.showDialog();
}
![Page 60: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/60.jpg)
![Page 61: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/61.jpg)
UX Guide-Dialogarten
Dialog
Eigenschaft Assistent Aufgabe
![Page 62: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/62.jpg)
![Page 63: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/63.jpg)
Dialoge – Basis
Object result = new TaskPaneBuilder()
.owner(evt)
.title(“Confirm Delete”)
.mainInstructionText(
“Do you want to delete %s?”, objName)
.commitCommands(CommandValue.YES, CommandValue.NO)
.showDialog();
![Page 64: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/64.jpg)
Dialoge - Style Guide-API
boolean proceed = new MessagePaneBuilder()
.owner(evt)
.title(“Confirm Delete”)
.mainInstructionText(
“Do you want to delete %s?”, objName)
.showConfirmation();
![Page 65: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/65.jpg)
Dialoge - Standard
boolean proceed = new StandardPaneBuilder()
.owner(evt)
.showDeleteConfirmation(objName);
![Page 66: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/66.jpg)
Gliederung Einleitung
Code Muster und Implementierungsstil
Layout
Objektdarstellung und Tabellen
Binding
Event Handling
Hintergrundprozesse
App-Standardisierung
Sonstiges
![Page 67: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/67.jpg)
Formatierungen extrahieren
Z. B. Klasse CommonFormats
#formatPhone(String)
#formatEmail(String)
#formatIBAN(String)
ContactFormats extends CommonFormats
#formatName(Contact)
#formatTableCellName(Contact)
![Page 68: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/68.jpg)
Tabellen I Swing
private static final class ContactTableModel
extends AbstractTableAdapter<Contact> {
ContactTableModel() {
super("Name", "Phone", "Email", "Tags");
}
public Object getValueAt(int row, int column) {
Contact c = getRow(row);
switch (column) {
case 0 :
return Formats.formatTableCellName(c);
case 1 :
return Formats.formatPhone(c.getPhone());
...
}
}
![Page 69: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/69.jpg)
Tabellen II Uni
new TableBuilder(contactTable, Contact.class)
.addColumn()
.name("Name")
.formatter(Formats::formatTableCellName)
.done()
.addColumn()
.name("Phone")
.getString(contact -> contact.getPhone())
.formatter(str -> Formats.formatPhone(str))
.done()
.addColumn()
.name("Email")
.getString(Contact::getEmail)
.formatter(Formats::formatEmail)
.done()
...
.build();
}
![Page 70: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/70.jpg)
![Page 71: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/71.jpg)
Objektkopf Uni
new ObjectHeader.Builder()
.title(customer.getName())
.intro(Formats.formatEnumeration(born, age))
.number(Formats.formatKVNr(customer.getKVNr()))
.numberUnit("Versicherter")
.addAttributes(customer.getAttributes())
.addStatus()
.text("Mitglied seit %s", since)
.done()
.addStatus()
.text("Versicherungspflichtig")
.done()
.addStatus()
.text("Datenschutz")
.state(ValueState.WARNING)
.done()
...
.build();
![Page 72: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/72.jpg)
Gliederung Einleitung
Code Muster und Implementierungsstil
Layout
Objektdarstellung und Tabellen
Binding
Event Handling
Hintergrundprozesse
App-Standardisierung
Sonstiges
![Page 73: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/73.jpg)
ContactEditorView (5/5) Uni
void setData(Contact contact) {
firstNameField.setText(contact.getFirstName());
lastNameField .setText(contact.getLastName();
phoneField .setText(contact.getPhone());
...
}
void getData(Contact contact) {
contact.setFirstName(firstNameField.getText());
contact.setLastName (lastNameField .getText());
contact.setPhone (phoneField .getText());
...
}
![Page 74: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/74.jpg)
ContactEditorView mit Bindung
private void initBindings() {
Binder binder = Binders.binderFor(model);
binder.bindBeanProperty(PROPERTY_FIRST_NAME)
.to(firstNameField);
binder.bindBeanProperty(PROPERTY_LAST_NAME)
.to(lastNameField);
binder.bindBeanProperty(PROPERTY_PHONE)
.to(phoneField);
...
}
![Page 75: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/75.jpg)
Datenbindung Swing
private void initBindings() {
ObjectBinder binder = Binders.binderFor(model);
binder.bind(model.getDataModel(),
model.getSelectionModel()).to(table);
}
![Page 76: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/76.jpg)
Gliederung Einleitung
Code Muster und Implementierungsstil
Layout
Objektdarstellung und Tabellen
Binding
Event Handling
Hintergrundprozesse
App-Standardisierung
Sonstiges
![Page 77: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/77.jpg)
ActionListener – 3 Stile
private void initEventHandling() {
view.newButton.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
...
}
}
);
view.editButton.addActionListener(
e -> { ... }
);
view.deleteButton.addActionListener(
this::onDeletePerformed
)
}
![Page 78: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/78.jpg)
![Page 79: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/79.jpg)
![Page 80: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/80.jpg)
ActionListener Swing
private void initEventHandling() {
view.newButton.addActionListener(
this::onNewPerformed
);
view.editButton.addActionListener(
this::onEditPerformed
);
view.deleteButton.addActionListener(
this::onDeletePerformed
)
}
![Page 81: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/81.jpg)
ActionListener FX
private void initEventHandling() {
view.newButton.setOnAction(
this::onNewPerformed
);
view.editButton.setOnAction(
this::onEditPerformed
);
view.deleteButton.setOnAction(
this::onDeletePerformed
)
}
![Page 82: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/82.jpg)
Ereignisse abstrahiert
private void initEventHandling() {
view.contactTable.addMouseListener(
Listeners.mouseDoubleClicked(
this::onMouseDoubleClicked
)
);
view.contactTable.addMouseListener(
Listeners.contextMenu(
this::onContextMenuRequested
)
);
...
}
![Page 83: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/83.jpg)
Ereignisse Uni
private void initEventHandling() {
Handler handler = Handlers.handler();
handler.mouseDoubleClickedListener(
this::onMouseDoubleClicked)
.addTo(view.contactTable);
handler.contextMenuListener(
this::onContextMenuRequested)
.addTo(view.contactTable);
...
}
![Page 84: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/84.jpg)
Gliederung Einleitung
Code Muster und Implementierungsstil
Layout
Objektdarstellung und Tabellen
Binding
Event Handling
Hintergrundprozesse
App-Standardisierung
Sonstiges
![Page 85: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/85.jpg)
Hintergrundprozess Swing
class LoadTask extends Task<List<Contact>, Void> {
LoadTask() {
super(BlockingScope.APPLICATION);
}
protected List<Contact> doInBackground() {
return service.getAllContacts();
}
protected void succeeded(List<Contact> result) {
// GUI aktualisieren
}
}
![Page 86: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/86.jpg)
Hintergrundprozess Uni
new TaskBuilder<List<Contact>>()
.blocking(BlockingScope.APPLICATION)
.inBackgroundDo(service::loadAllContacts)
.onSucceeded(this::onLoadSucceeded)
.execute();
![Page 87: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/87.jpg)
Gliederung Einleitung
Code
App-Standardisierung
Navigation und Seitenfluss
Inhalte
Kommandos
Sonstiges
![Page 88: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/88.jpg)
GUI-Standards
Universal Windows Platform (UWP)
Material Design
iOS
![Page 89: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/89.jpg)
UWP
Gerätetypen: Desktop, Tablet, Telefon
Anwendungsarten: Spiel, Photoshop, Buisiness
Verschiedene Navigationstypen und -größen
Navigation + Inhalt + Kommandos
Meine Empfehlung, wenn das Gewicht auf Desktop liegt.
![Page 90: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/90.jpg)
TODO
![Page 91: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/91.jpg)
![Page 92: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/92.jpg)
![Page 93: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/93.jpg)
![Page 94: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/94.jpg)
CASHING
![Page 95: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/95.jpg)
![Page 96: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/96.jpg)
![Page 97: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/97.jpg)
POWER
![Page 98: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/98.jpg)
![Page 99: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/99.jpg)
![Page 100: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/100.jpg)
![Page 101: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/101.jpg)
![Page 102: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/102.jpg)
TAXI
![Page 103: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/103.jpg)
![Page 104: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/104.jpg)
![Page 105: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/105.jpg)
![Page 106: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/106.jpg)
![Page 107: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/107.jpg)
TABBED BROWSING
![Page 108: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/108.jpg)
![Page 109: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/109.jpg)
![Page 110: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/110.jpg)
![Page 111: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/111.jpg)
Demo:
Desktop Converter
![Page 112: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/112.jpg)
![Page 113: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/113.jpg)
Generifizierung
JComboBox<String> -> ComboBox<String>
JList<Contact> -> ListView<Contact>
JTable -> ?
![Page 114: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/114.jpg)
Generifizierung
JComboBox<String> -> ComboBox<String>
JList<Contact> -> ListView<Contact>
JGTable<Contact> -> TableView<Contact>
![Page 115: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/115.jpg)
Tabelle – Toolkit-bezogen
new TableBuilder(lagerTable, Lager.class)
.addColumn()
.name("Name")
.getString(Lager::getName)
.done()
...
.addColumn()
.name("Aktiv")
.getBoolean(Lager::isAktiv)
.renderer(new JGBooleanTableCellRenderer())
.done()
...
.build();
}
![Page 116: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/116.jpg)
Tabelle – Uni
new TableBuilder(lagerTable, Lager.class)
.addColumn()
.name("Name")
.getString(Lager::getName)
.done()
...
.addColumn()
.name("Aktiv")
.getBoolean(Lager::isAktiv)
.formatter(b -> b ? "\u2713" : "")
.done()
...
.build();
}
![Page 117: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/117.jpg)
Layout – Toolkit-bezogen
private JComponent buildContent() {
return new FormBuilder()
.columns("pref, $label-component-gap, 150dlu")
.rows("p, $line-gap, p")
.focusTraversalPolicy(
new JGContainerOrderFocusTraversalPolicy())
...
.build();
}
![Page 118: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/118.jpg)
Layout – Abstrahiert
private JComponent buildContent() {
return new FormBuilder()
.columns("pref, $label-component-gap, 150dlu")
.rows("p, $line-gap, p")
.focusTraversalPolicyType(
FocusTraversalType.CONTAINER_ORDER)
...
.build();
}
![Page 119: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/119.jpg)
LAGER
SWING VS. JAVAFX
![Page 120: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/120.jpg)
![Page 121: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/121.jpg)
![Page 122: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/122.jpg)
![Page 123: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/123.jpg)
![Page 124: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/124.jpg)
![Page 125: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/125.jpg)
![Page 126: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/126.jpg)
![Page 127: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/127.jpg)
Gliederung Einleitung
Code
App-Standardisierung
Sonstiges
![Page 128: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/128.jpg)
Internationalisierung I
new TaskPaneBuilder()
.owner(evt)
.title(“Confirm Delete”)
.mainInstructionText(
“Do you want to delete %s?”, objName)
.commitCommands(CommandValue.YES, CommandValue.NO)
.showDialog();
new JCheckBox(“Don’t show again”)
![Page 129: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/129.jpg)
Internationalisierung II
new TaskPaneBuilder()
.owner(evt)
.resources(aResourceBundle)
.titleKey(“confirmDelete.title”)
.mainInstructionTextKey(
“confirmDelete.mainInstruction”, objName)
.commitCommands(CommandValue.YES, CommandValue.NO)
.showDialog();
new JCheckBox(aResourceBundle.get(“dontShowAgain”));
![Page 130: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/130.jpg)
Internationalisierung III
MyResources res = Resources.get(MyResources.class);
new TaskPaneBuilder()
.owner(evt)
.title(res.confirmDelete_title)
.mainInstructionText(
res.confirmDelete_mainInstruction, objName)
.commitCommands(CommandValue.YES, CommandValue.NO)
.showDialog();
new JCheckBox(res.dontShowAgain);
![Page 131: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/131.jpg)
Alternativen
Uni-Layout mit visuellem Editor
JGoodies Universal Desktop Platform
JVx
DSL
EMF Forms
![Page 132: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/132.jpg)
DSL-Beispiel
home for LieferantArtikelF 'Lieferant Artikel'
roles={lager_verwalter} {
ui editable grid {
toolbar{New Edit Delete Reload ExcelExport}
search { artikel.bezeichnung like #{input}
or artikel.nummer like #{input}
or lieferant.name like #{input}}
combobox artikel format='$nummer $bezeichnung';
combobox lieferant format='$name';
number lieferfristTage 'Lieferfrist';
text bemerkung 'Bemerkung';
}
![Page 133: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/133.jpg)
Wer tut was?
SWT mit Eclipse-RCP
Weiter machen
Swing mit Rahmenwerk
Ruhig bleiben (drückt der Schuh?)
Weiter machen
Andere Optionen kritisch prüfen
Swing ohne Rahmenwerk
Erwäge: Swing mit Rahmenwerk, Eclipse-RCP, JavaFX ohne/mit Rahmenwerk, Web-Lösungen
![Page 134: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/134.jpg)
Demos: Showcase
JGoodies.com -> Downloads -> Demos
Java Universal Desktop Platform
Standarddialoge
Muster
Referenzimplementierungen für Presentation Model und MVP in Swing und JavaFX (nur MVP)
![Page 135: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/135.jpg)
Quellen
OpenJDK: JavaFX-Mailingliste
OpenJDK: Swing-Mailingliste
Jeanette Winzenburg: @kleopatra_jx
StackOverflow: „JavaFX“
Microsofts Universal Windows Platform (UWP)
![Page 136: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/136.jpg)
Referenzen
JGoodies.com -> Downloads -> Presentations
Neu: Moderne Gestaltung für Java
Visuell: Effektiv gestalten mit Swing
Muster: Desktop-Muster und Datenbindung
Implementierung: Java UI Design with Style
Meta Design: Effizient gestalten mit Swing
Rahmenwerk: JSR 296 –Swing App Framework
![Page 137: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/137.jpg)
Mehr zur menschlichen Seite
JAX-Video:
„Warum so viele kluge Leute so schlechte Oberflächen entwickeln“
![Page 138: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/138.jpg)
FRAGEN UND ANTWORTEN
![Page 139: Karsten Lentzsch JGoodies VON SWING NACH JAVAFX...Look & Feel Styling Fokus Gesten Native Swing vs. JavaFX II Wie/wo behebt man Probleme? Bibliotheken und Rahmenwerke (Marktlage) Reife:](https://reader035.vdokument.com/reader035/viewer/2022071112/5fe7a46df95c485e5e2ad113/html5/thumbnails/139.jpg)
VON SWING NACH JAVAFX
Karsten Lentzsch – JGoodies