TornadoFX: Build JavaFX Applications with Kotlin

TornadoFX: Build JavaFX Applications with Kotlin
TornadoFX: Build JavaFX Applications with Kotlin
English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 8h 47m | 3.73 GB

Get started with creating JavaFX applications using TornadoFX – A lightweight JavaFX framework for Kotlin

JavaFX has been around for quite a long time. It’s powered by Java and has been used to build desktop applications, as well as Rich Internet Applications (RIAs).

Although the Java programming language has been known for its portability, it has its pitfalls, one of which being its verbosity, wherein developers must write a lot of lines of code to make a simple GUI.

TornadoFX, a lightweight JavaFX framework for Kotlin, simplifies JavaFX development by abstracting the verbose, hard-to-maintain Java code. TornadoFX, powered by the statically typed JVM language, Kotlin, makes it easy to build rich, feature-packed user interfaces. Besides, it greatly minimizes the amount of code needed to build JavaFX applications, making the codebase easy-to-maintain and extend.

This course starts off by explaining the importance of using TornadoFX. In the sections that follow, you’ll understand how to set up the development environment to start using it. Later, you’ll cover the different shapes and animations in TornadoFX. To help you get hands-on experience, the course will even guide you through developing exciting applications, right from a weather forecast application through to a budget tracker application.

By the end of this course, you’ll be equipped with the skills you need to confidently create JavaFX applications using TornadoFX.


  • Set up a development environment to start using TornadoFX
  • Use type-safe builders to create controls and layouts easily
  • Get up to speed with editing and model validation in TornadoFX
  • Connect a TornadoFX app to an SQLite database
  • Understand how to create shapes and animations
  • Build Java business applications with Workspace
  • Develop robust ’In-House’ business desktop applications with TornadoFX
Table of Contents

1 Introduction
2 How’s The Course Structured
3 Who’s This Course For

Why TornadoFX
4 TornadoFX – Motivation

Development Machine Setup – MAC and Windows
5 Development Setup – Download JDK and IntelliJ IDEA
6 Install TorandoFX Plugin and Run Hello World

JavaFX and TorandoFX – The Building Blocks
7 What We’ll Cover in This Section
8 Dissecting TornadoFX Project Structure – Override Stage Size
9 Dissect Views, Root and Block Initializers and Buttons
10 JavaFX Overview – Controls, Layouts – Presentation
11 Understanding Binding – Click Button and Change Label Text
12 Random Name CHALLENGE Solution
13 Improving Random Name App with Controller

More on TorandoFX Views
14 What We’ll Cover in This Section
15 Embedding Views – BorderPane Introduction
16 Injecting Views into Other Views
17 UIComponents Override Methods – OnDock, OnUndock

TorandoFX – Data Controls – Collections, Listviews and TableViews
18 Data Controls – Introduction
19 ListViews
20 ListViews Formatting Cells
21 Student Project – Listviews and Restructuring Views
22 Student Project – Listviews and Restructuring Views – All Functioning
23 Tableview Introduction – Part 1
24 Tableview – Creating Model Class with JavaFX Properties
25 Student Project – Adding New Students Dynamically

[Hands-On] Build a Bill Splitter Calculator
26 What You’ll Build -Bill Splitter Calculator
27 Putting the UI Together – Part 1
28 Putting the UI Together – Part 2
29 Adding the Calculate Function
30 Binding Slider Values and Showing on Screen
31 Finished App

Forms and ItemViewModel
32 Introduction – ItemViewModel Class
33 Understanding ItemViewModel
34 Implementing Student Model and Updating Project
35 Making Fields Required and Binding Buttons
36 Model Reset – Rollback
37 Adding Validators
38 Model Commit – Finalizing Form Validation

TornadoFX – Type-Safe CSS
39 What We’ll Cover in This Section
40 Inline Type-Safe CSS
41 Inline Type-Safe CSS, Cont.
42 Applying Styles Class with Stylesheet
43 TornadoFX Hot Reload Setup
44 CHALLENGE – Revamp Bill Splitter Calculator
45 SOLUTION – Bill Splitter

Shapes and Animations in TornadoFX
46 What We’ll Cover in This Section
47 Creating Rectangles
48 Shapes inside Stackpane and Group
49 Creating More Shapes…
50 Animating with Timeline and Keyframe

[Hands-On] Build an Interactive Application – Bubbles and Ripples
51 What We’ll Cover in This Section
52 Setup UI – Part 1
53 Adding Circles onClick
54 Adding Ripple Effect
55 Adding Random Text – Animate Label
56 Wrap-up Bubbles and Ripples Project

JSON and REST – Build a Weather Forecast Application
57 What We’ll Cover in This Section
58 OpenWeather – Setting up our APPID
59 Setup Weather API Model – City
60 Temp and Weather Model Classes
61 Setup List Model
62 Setup Forecast Mode Class
63 Fetching Data from API
64 Set up UI with API Parsed Data
65 Showing City, Date and Country
66 Styling Labels
67 Adding Icon Images
68 Getting Icons Dynamically
69 Adding Forecast Grid – Part 1
70 Wrapping Up the Weather Forecast App

TornadoFX and Database – Build a Budget Tracker Application
71 What We’ll Cover in This Section
72 Adding SQLite and Exposed Dependencies
73 Setup TornadoFX Workspace
74 Setup Database Helper Methods and Logger
75 Expenses Entry Table – Part 1
76 Expenses Entry Table – Part 2
77 Connecting SQLite DB
78 Saving an Item to DB
79 Setting Up Controller and CRUD
80 Setting Up Controller and CRUD – Show All Items – Part 2
81 Setting Up ExpensesEditor and Adding it to Workspace
82 Showing Items on Tableview
83 Adding Validation
84 Saving Items OnKeyPressed
85 Dynamically Showing Entered Items on Tableview
86 Deleting Items and Updating the TableView
87 Introduction to PieCharts
88 Adding PieChart Data Dynamically
89 Removing Items from PieChart Dynamically
90 Updating Items in PieChart Dynamically
91 Adding Total Expenses – Part 1
92 Finishing Up Total Expenses Feature
93 Finalizing Budget Tracker Application

Where to Go from here
94 Where to Go from here