The Basic Idea of Swing The Mechanics of Swing - I The Mechanics of Swing - II Downloads
Contrasting JavaFX and Swing - I Contrasting JavaFX and Swing - II The Mechanics of JavaFX Properties and Bindings Introduced We are in sync : Properties and Bindings in action Downloads
Properties and Bindings: Digging Deeper Properties and Bindings: Observables, ChangeListeners and Other Interfaces Properties and Bindings: Observables, ChangeListeners and Other Interfaces JavaFX: Modeling Properties and Bindings JavaFX : Digging into Bindings The trick to JavaFX properties: Lazy Instantiation Downloads
Complex UIs via FXML and SceneBuilder FXML Behind the Scenes : Linking to the controller FXML Behind the Scenes : Dependency Injection The Full Possibilities of FXML - I The Full Possibilities of FXML - II The Full Possibilities of FXML - III Downloads
Drawing: Shapes and Nodes Drawing: Fonts and a Segue into Animated GIFs Downloads
Animation: Timelines and Transitions Transitions Explored Downloads
JavaFX Media Support: Part-Lame, Part-Awesome JavaFX Media Support: Getting started with common operations Build your own Media Player - I Build your own Media Player - II Downloads
JavaFX Charts and Tables - I JavaFX Charts and Tables - II Charts and Tables : An example - I Charts and Tables : An example - II Downloads
3D Rendering : Introduction to 3D Rendering: Segue to Drawing in 2D Introduction to 3D Rendering 3D Rendering: Getting our feet wet 3D Animations: Timelines and Moving Cameras Downloads
A Serious Swing App: News Curation Browser - I A Serious Swing App: News Curation Browser - II A Serious Swing App: News Curation Browser - III A Serious Swing App: News Curation Browser - IV Downloads
A Serious JavaFX App: The News Curator - I A Serious JavaFX App: The News Curator - II Downloads
Building a Serious UI App with FXML and SceneBuilder: Snippet Browser - I Building a Serious UI App with FXML and SceneBuilder: Snippet Browser - II Building a Serious UI App with FXML and SceneBuilder: Snippet Browser - III Downloads
Properties and Bindings: Coding examples A Zippier UI using Properties and Bindings: Snippet Browser with a Real-Time Pre Downloads
What will I learn?
- Build sophisticated user interfaces in Java, both in JavaFX and in Swing
- Use menus, trees, buttons, tables and all the important standard UI-building techniques - both in JavaFX and in Swing
- Use Scenebuilder and FXML to effortlessly create UIs using dependency injection
- Build business apps with charts and tables that rival spreadsheets like MS-Excel
- Leverage the power of Properties and Bindings to get the little details right
- Build 3D animations in JavaFX
- Use JavaFX Media support - build an entire, fully functional media player, and also know the limits of Java media capabilities
- Understand the MVC paradigm and the observer and command patterns that underpin virtually all modern UI frameworks
About the course
- Taught by a Stanford-educated, ex-Googler, husband-wife team
- Hundreds of lines of source code with hundreds of lines of code - just download and open in your IDE
A definitive guide to JavaFX, and a comprehensive guide to Swing are packed into this intensely practical, quirky guide to building awesome UIs in Java
Let's phrase that.
- This course is a definitive guide to JavaFX: every important part of the framework is covered in great detail, with sophisticated examples and context
- The course is a comprehensive guide to Swing: you will be able to build sophisticated, clean Swing apps, and employ every important technique.
- The course is intensely practical, packed with dozens of examples and hundreds of lines of included source code.
- The course is also quirky. The examples are irreverent. Lots of little touches: repetition, zooming out so we remember the big picture, active learning with plenty of quizzes. There’s also a peppy soundtrack, and art - all shown by studies to improve cognition and recall.
- Swing: Framework basics; JFrames, JPanels and JComponents; Menus and menu handling; Trees and their nuances; File choosers, buttons, browser controls
- Design: The MVC Paradigm, Observer and Command Design Patterns; Dependency Injection via FXML
Programming Drills (code-alongs, with source code included)
- A News Curation app to summarise newspaper articles into a concise email snippet
- Animated GIF generation, using Java Image libraries as well multi-threading support
- A fully fledged Media Player to play MP3 and MP4 files; complex wiring up of UI elements to make sure the little details (volume control, position sliders) work right
- 2D Animations to rival those available in Powerpoint and other presentation software
- 3D Animations including moving cameras, rotation and transition of 3D shapes
- Bubble Charts and Tables to represent revenue, market valuation and growth of a set of companies - a business app as good as Excel
- SceneBuilder and FXML support, so that design and implementation can be divvied up between designers and software engineers
Who should take the course?
- Yep! UI engineers looking for a definitive resource on JavaFX, the future of Java UI programming
- Yep! UI engineers looking for a comprehensive first-principles guide to Swing, the most popular UI programming framework right now
- Yep! Back-end engineers seeking a one-stop-shop course for building awesome front-ends
- Nope! This course is not right for you if you are looking for a Programming 101 course. You should have a good grasp of programming, ideally in Java, to benefit from this course
- Nope! This course is probably not right for you if you are a product manager or tech investor - this course is pretty much exclusively focused on the "how", not the "what"
Pre-requisites & Requirements
- Prerequisites: Basic understanding of Java
- Programming expertise at the level of a Programming 101 Class, preferably in Java.