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 Swing
- Oracle Swing Code Samples
- JavaFX 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.