Java & JavaFX Reading List
How do I get started coding in Java FX?!
This is a list of books and resources that you can use when learning to build GUI apps in Java. I highly recommend that you spent a lot of time trying out code - be in the habit of running snippets as you're reading about a particular piece of functionality. For that reason, you should install the the Java JDK and Java FX libraries before reading too far. See my post on Installing JavaFX if you need help setting up your environment.
It's helpful to have one solid programming language reference guide. If you're starting out, one of the free books below is probably fine (with the online links below).
- Java SE Platform Documentation includes reference material, tutorials and sample code.
- Oracle Java Tutorials are a little outdated, but comprehensive. More specialized GUI tutorials are linked below.
- Cay Horstmann. 2016. Core Java. an excellent non-free book.
- Cay Horstmann. 2017. Core Java for the Impatient. a shorter, non-free book by the same author.
- Downey and Mayfield. 2016. Think Java. a short, free, introduction.
Java Swing Toolkit
Swing is an early UI framework that is still bundled with the Java JDK. It's useful to know if you work with Java, but in most cases, I'd recommend learning the newer and more feature-rich Java FX framework.
- Java Swing Platform Documentation
- Oracle Tutorial: Creating a GUI with Java SwingA
- Oracle Swing Code Samples
Java FX Toolkit
Java FX is a modern toolkit. It's typically earier to work with than Swing, follows more modern design practices, and adds modern capabilities e.g. 3D graphics, multimedia, charts.
- JavaFX home page includes downloads, documentation. Make sure to install the version that matches your JDK version (above).
- JavaFX Documentation Project online book in-progress.
- Tutorial: Basic JavaFX Project w. Scene Builder
- Cary Horstman (the author of Core Java) has a free chapter about JavaFX, which includes lots of sample code.
- Oracle: Creating a JavaFX GUI
- Intro to JavaFX for Game Developers
- Javaspoint JavaFX Tutorial
These are development tools that I use.
- IntelliJ Community is an excellent, free Java IDE.
- Gluon Scene Builder is an interface builder for JavaFX.
- Dash makes Java documentation available offline. Also, see Velocity for Windows or Zeal for Linux. Most docsets can be downloaded directly in the app, although JavaFX needs to be downloaded and manually added.