際際滷

際際滷Share a Scribd company logo
JavaFX
Straight from the trenches
WANTED
Braz, Anderson
Software Engineer
Java Man since 2000, postgradute, open
source advocate, speaker and training
consultant
mrbraz mrbrazjava
You cannot love what
You cannot understand
Dependecy Injection
Make it easy to create
conventions
JavaFX - Straight from the trenches
Event streams
Decouple object
communication
JavaFX - Straight from the trenches
JavaFX - Straight from the trenches
JavaFX - Straight from the trenches
Multithreading
Immutability
The simplest way to avoid problems with
concurrency
JavaFX - Straight from the trenches
Defensive copy
To protect your class against that you should copy
data you receive and only return copies of data to
calling code.
JavaFX - Straight from the trenches
JavaFX - Straight from the trenches
JavaFX Thread
Command Thread
Background Thread
UI Controls
java.lang.IllegalStateException:
Not on FX application thread
Platform.runLater()
JavaFX - Straight from the trenches
Model-View-Presenter
Presenter is the guy
Knows everything about the Model and View contracts
and coordinates the communication between them
JavaFX - Straight from the trenches
View is the User Interface
Everything that interacts with the user to
maintain the Subject up to date
JavaFX - Straight from the trenches
Model is the Subject
Business Domain, Business Data, Meta Data,
Conceptual Objects, etc
JavaFX - Straight from the trenches
Easy to test
Model-View-Presenter is the design created to make
it easy to create testable User Interfaces and the
behaviours associated with it.
JavaFX - Straight from the trenches
JavaFX - Straight from the trenches
MVP: A true revelation
I developed this presentation using MVP design
WANTED
Braz, Anderson
Software Engineer
Java Man since 2000, postgradute, open
source advocate, speaker and training
consultant
mrbraz mrbrazjava
ReactiveFX
An open source solution that
illustrates the use of topics
discussed in this presentation.
Find it on github
Ad

Recommended

Mvvm pattern
Mvvm pattern
msarangam
JSF Presentation"2"
JSF Presentation"2"
SiliconExpert Technologies
MVC Views In Depth
MVC Views In Depth
Joe Wilson
Why MVC?
Why MVC?
Wayne Tun Myint
Understanding ASP.NET MVC
Understanding ASP.NET MVC
Shravan Kumar Kasagoni
MVC Seminar Presantation
MVC Seminar Presantation
Abhishek Yadav
Struts interview-questions-ppt
Struts interview-questions-ppt
Mayank Kumar
Introduction To MVVM
Introduction To MVVM
Boulos Dib
From Swing to JavaFX
From Swing to JavaFX
Yuichi Sakuraba
Novidades do Java SE 8
Novidades do Java SE 8
Bruno Borges
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the Cloud
codemotion_es
Java Fx - Return of client Java
Java Fx - Return of client Java
Shuji Watanabe
DataFX 8 (JavaOne 2014)
DataFX 8 (JavaOne 2014)
Hendrik Ebbers
JavaFX Your Way: Building JavaFX Applications with Alternative Languages
JavaFX Your Way: Building JavaFX Applications with Alternative Languages
Stephen Chin
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Arun Gupta
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Bruno Borges
JavaFX Overview
JavaFX Overview
Jos辿 Maria Silveira Neto
JavaFX Enterprise (JavaOne 2014)
JavaFX Enterprise (JavaOne 2014)
Hendrik Ebbers
JavaFX Presentation
JavaFX Presentation
Mochamad Taufik Mulyadi
The JavaFX Ecosystem
The JavaFX Ecosystem
Andres Almiray
Code Camp 06 Model View Presenter Architecture
Code Camp 06 Model View Presenter Architecture
bitburner93
DataFX - JavaOne 2013
DataFX - JavaOne 2013
Hendrik Ebbers
JavaFX in Action Part I
JavaFX in Action Part I
Mohammad Hossein Rimaz
MVP vs MVVM : a fast introduction
MVP vs MVVM : a fast introduction
Matteo Pierro
JavaFX for Java Developers
JavaFX for Java Developers
Sten Anderson
Javafx tutorial
Javafx tutorial
sloumaallagui1
Javafx tutorial
Javafx tutorial
HarikaReddy115
Javafx tutorial
Javafx tutorial
Shaman Gupta
Model View Presenter
Model View Presenter
rendra toro
MVVM and RxJava the perfect mix
MVVM and RxJava the perfect mix
Florina Muntenescu

More Related Content

Viewers also liked (12)

From Swing to JavaFX
From Swing to JavaFX
Yuichi Sakuraba
Novidades do Java SE 8
Novidades do Java SE 8
Bruno Borges
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the Cloud
codemotion_es
Java Fx - Return of client Java
Java Fx - Return of client Java
Shuji Watanabe
DataFX 8 (JavaOne 2014)
DataFX 8 (JavaOne 2014)
Hendrik Ebbers
JavaFX Your Way: Building JavaFX Applications with Alternative Languages
JavaFX Your Way: Building JavaFX Applications with Alternative Languages
Stephen Chin
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Arun Gupta
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Bruno Borges
JavaFX Overview
JavaFX Overview
Jos辿 Maria Silveira Neto
JavaFX Enterprise (JavaOne 2014)
JavaFX Enterprise (JavaOne 2014)
Hendrik Ebbers
JavaFX Presentation
JavaFX Presentation
Mochamad Taufik Mulyadi
The JavaFX Ecosystem
The JavaFX Ecosystem
Andres Almiray
Novidades do Java SE 8
Novidades do Java SE 8
Bruno Borges
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the Cloud
codemotion_es
Java Fx - Return of client Java
Java Fx - Return of client Java
Shuji Watanabe
DataFX 8 (JavaOne 2014)
DataFX 8 (JavaOne 2014)
Hendrik Ebbers
JavaFX Your Way: Building JavaFX Applications with Alternative Languages
JavaFX Your Way: Building JavaFX Applications with Alternative Languages
Stephen Chin
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Arun Gupta
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Bruno Borges
JavaFX Enterprise (JavaOne 2014)
JavaFX Enterprise (JavaOne 2014)
Hendrik Ebbers
The JavaFX Ecosystem
The JavaFX Ecosystem
Andres Almiray

Similar to JavaFX - Straight from the trenches (20)

Code Camp 06 Model View Presenter Architecture
Code Camp 06 Model View Presenter Architecture
bitburner93
DataFX - JavaOne 2013
DataFX - JavaOne 2013
Hendrik Ebbers
JavaFX in Action Part I
JavaFX in Action Part I
Mohammad Hossein Rimaz
MVP vs MVVM : a fast introduction
MVP vs MVVM : a fast introduction
Matteo Pierro
JavaFX for Java Developers
JavaFX for Java Developers
Sten Anderson
Javafx tutorial
Javafx tutorial
sloumaallagui1
Javafx tutorial
Javafx tutorial
HarikaReddy115
Javafx tutorial
Javafx tutorial
Shaman Gupta
Model View Presenter
Model View Presenter
rendra toro
MVVM and RxJava the perfect mix
MVVM and RxJava the perfect mix
Florina Muntenescu
MVVM ( Model View ViewModel )
MVVM ( Model View ViewModel )
Ahmed Emad
Rendra Toro - Model View Presenter
Rendra Toro - Model View Presenter
Dicoding
Java and XPages
Java and XPages
Patrick Kwinten
Java Virtual Machine - Internal Architecture
Java Virtual Machine - Internal Architecture
subnesh
Demo on JavaFX
Demo on JavaFX
Knoldus Inc.
Domain Driven Design
Domain Driven Design
Knoldus Inc.
Scripting with Java FX - C辿dric Tabin - December 2007
Scripting with Java FX - C辿dric Tabin - December 2007
JUG Lausanne
JavaOne - The JavaFX Community and Ecosystem
JavaOne - The JavaFX Community and Ecosystem
Alexander Casall
Architectural Design & Patterns
Architectural Design & Patterns
Inocentshuja Ahmad
Presentation - Course about JavaFX
Presentation - Course about JavaFX
Tom Mix Petreca
Code Camp 06 Model View Presenter Architecture
Code Camp 06 Model View Presenter Architecture
bitburner93
DataFX - JavaOne 2013
DataFX - JavaOne 2013
Hendrik Ebbers
MVP vs MVVM : a fast introduction
MVP vs MVVM : a fast introduction
Matteo Pierro
JavaFX for Java Developers
JavaFX for Java Developers
Sten Anderson
Javafx tutorial
Javafx tutorial
Shaman Gupta
Model View Presenter
Model View Presenter
rendra toro
MVVM and RxJava the perfect mix
MVVM and RxJava the perfect mix
Florina Muntenescu
MVVM ( Model View ViewModel )
MVVM ( Model View ViewModel )
Ahmed Emad
Rendra Toro - Model View Presenter
Rendra Toro - Model View Presenter
Dicoding
Java Virtual Machine - Internal Architecture
Java Virtual Machine - Internal Architecture
subnesh
Domain Driven Design
Domain Driven Design
Knoldus Inc.
Scripting with Java FX - C辿dric Tabin - December 2007
Scripting with Java FX - C辿dric Tabin - December 2007
JUG Lausanne
JavaOne - The JavaFX Community and Ecosystem
JavaOne - The JavaFX Community and Ecosystem
Alexander Casall
Architectural Design & Patterns
Architectural Design & Patterns
Inocentshuja Ahmad
Presentation - Course about JavaFX
Presentation - Course about JavaFX
Tom Mix Petreca
Ad

Recently uploaded (20)

AI for PV: Development and Governance for a Regulated Industry
AI for PV: Development and Governance for a Regulated Industry
Biologit
Microsoft-365-Administrator-s-Guide1.pdf
Microsoft-365-Administrator-s-Guide1.pdf
mazharatknl
NEW-IDM Crack with Internet Download Manager 6.42 Build 27 VERSION
NEW-IDM Crack with Internet Download Manager 6.42 Build 27 VERSION
grete1122g
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
pcprocore
Simplify Insurance Regulations with Compliance Management Software
Simplify Insurance Regulations with Compliance Management Software
Insurance Tech Services
IObit Driver Booster Pro 12 Crack Latest Version Download
IObit Driver Booster Pro 12 Crack Latest Version Download
pcprocore
Zoho Creator Solution for EI by Elsner Technologies.docx
Zoho Creator Solution for EI by Elsner Technologies.docx
Elsner Technologies Pvt. Ltd.
Humans vs AI Call Agents - Qcall.ai's Special Report
Humans vs AI Call Agents - Qcall.ai's Special Report
Udit Goenka
declaration of Variables and constants.pptx
declaration of Variables and constants.pptx
meemee7378
Top Time Tracking Solutions for Accountants
Top Time Tracking Solutions for Accountants
oliviareed320
Threat Modeling a Batch Job Framework - Teri Radichel - AWS re:Inforce 2025
Threat Modeling a Batch Job Framework - Teri Radichel - AWS re:Inforce 2025
2nd Sight Lab
Azure AI Foundry: The AI app and agent factory
Azure AI Foundry: The AI app and agent factory
Maxim Salnikov
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
IFI Techsolutions
Decipher SEO Solutions for your startup needs.
Decipher SEO Solutions for your startup needs.
mathai2
Building Geospatial Data Warehouse for GIS by GIS with FME
Building Geospatial Data Warehouse for GIS by GIS with FME
Safe Software
Automated Testing and Safety Analysis of Deep Neural Networks
Automated Testing and Safety Analysis of Deep Neural Networks
Lionel Briand
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
Hassan Abid
Best Practice for LLM Serving in the Cloud
Best Practice for LLM Serving in the Cloud
Alluxio, Inc.
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
BradBedford3
AI for PV: Development and Governance for a Regulated Industry
AI for PV: Development and Governance for a Regulated Industry
Biologit
Microsoft-365-Administrator-s-Guide1.pdf
Microsoft-365-Administrator-s-Guide1.pdf
mazharatknl
NEW-IDM Crack with Internet Download Manager 6.42 Build 27 VERSION
NEW-IDM Crack with Internet Download Manager 6.42 Build 27 VERSION
grete1122g
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
pcprocore
Simplify Insurance Regulations with Compliance Management Software
Simplify Insurance Regulations with Compliance Management Software
Insurance Tech Services
IObit Driver Booster Pro 12 Crack Latest Version Download
IObit Driver Booster Pro 12 Crack Latest Version Download
pcprocore
Zoho Creator Solution for EI by Elsner Technologies.docx
Zoho Creator Solution for EI by Elsner Technologies.docx
Elsner Technologies Pvt. Ltd.
Humans vs AI Call Agents - Qcall.ai's Special Report
Humans vs AI Call Agents - Qcall.ai's Special Report
Udit Goenka
declaration of Variables and constants.pptx
declaration of Variables and constants.pptx
meemee7378
Top Time Tracking Solutions for Accountants
Top Time Tracking Solutions for Accountants
oliviareed320
Threat Modeling a Batch Job Framework - Teri Radichel - AWS re:Inforce 2025
Threat Modeling a Batch Job Framework - Teri Radichel - AWS re:Inforce 2025
2nd Sight Lab
Azure AI Foundry: The AI app and agent factory
Azure AI Foundry: The AI app and agent factory
Maxim Salnikov
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
IFI Techsolutions
Decipher SEO Solutions for your startup needs.
Decipher SEO Solutions for your startup needs.
mathai2
Building Geospatial Data Warehouse for GIS by GIS with FME
Building Geospatial Data Warehouse for GIS by GIS with FME
Safe Software
Automated Testing and Safety Analysis of Deep Neural Networks
Automated Testing and Safety Analysis of Deep Neural Networks
Lionel Briand
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
Hassan Abid
Best Practice for LLM Serving in the Cloud
Best Practice for LLM Serving in the Cloud
Alluxio, Inc.
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
BradBedford3
Ad

JavaFX - Straight from the trenches

Editor's Notes

  • #20: java.lang.IllegalStateException: Not on FX application thread