
Meet Paolo, a software engineer and educator with six years online teaching and 75,000 students; discover practical programming foundations for mobile and web apps while starting tornado fx with kotlin.
Designed for developers with object-oriented programming experience, this course teaches desktop app development with TornadoFX and JavaFX using Kotlin, with a note that beginners may struggle.
Discover how tornadoFX speeds desktop UI development by leveraging the JavaFX libraries with Kotlin, delivering concise, readable code and simpler login forms.
Set up tornado effects by installing the Java development kit 8 and the JetBrains IntelliJ IDEA community edition, ensuring license acceptance, and choosing the right installer for your OS.
Discover how TornadoFX builds JavaFX apps with Kotlin, using the same JavaFX APIs, and explore building blocks, views, properties, VBox containers, and controls, culminating in the Make It Rain app.
Explore the foundations of JavaFX in TornadoFX, including stage, scene, scene graph, and nodes, while learning about controls, layouts, and built-in charts.
Build a random name picker in TornadoFX by creating a names list, selecting a random item on button clicks, and binding the result to a label in the view.
Learn the model view controller pattern in TornadoFX, create a main controller, and inject it into views to bind label text and generate random names.
Learn embedding and injection of views using find and inject. Explore the border pane layout and the lifecycle of views, including switching to a new view.
Embed a top view into the main view of a TornadoFX border pane, then arrange top, bottom, left, and right regions using HBox and alignment.
Embed views within views in TornadoFX using inject and find to compose flexible, nested views.
Explore TornadoFX view lifecycle by using internal override methods such as on dock, on undock, on create, and before show; observe when assets are prepared and the view is destroyed.
Learn more about views and Dependency Injection:
https://edvin.gitbooks.io/tornadofx-guide/part1/3.%20Components.html
Explore data controls in TornadoFX, including collection list views and table views, with observable lists, form fields, text fields, and cell formatting, culminating in a student list dashboard application.
Create a list view in TornadoFX with Kotlin by building a data source, converting it to an observable list, and rendering items either by initialization or by adding items.
Format list view cells in TornadoFX with a cell factory, color and resize text when names match a substring, and use the see helper to apply colors and font sizes.
Build dynamic TornadoFX list views by using an observable array list and FX collections, and organize with controllers to add and display students.
Build a dynamic tornado fx app that saves a student's first and last name, concatenates them into a full name, and adds it to a list via an injected controller.
Convert the student model to mutable JavaFX properties with tornado fx, enabling editable table columns and binding to an observable list, and prepare a form to add students dynamically.
Build a bill splitter calculator with a simple UI that dynamically updates bill amount, total per person, and split options using a combo box and a tip slider, illustrating effects.
Refactor the TornadoFX UI by using a VBox root, a labeled percentage field, and a 1–10 combo box with a slider and text field. Apply by singleAssign for dynamic controls.
Implement a calculate function in the main controller using bound properties, including bill amount and split, to update the total per person via a 0–100 horizontal slider with clean binding.
Build a dynamic tip calculator in TornadoFX by binding the total tip and total per person, using text properties and formatting to two decimals.
Explore how item view model mediates between forms and tables in tornadofx, enabling automatic binding, validation, and state tracking for creating, editing, and resetting student data.
Create a student model as an item view model in TornadoFX and bind id, first name, last name, and birthday to the form and table using the injected model.
Attach text fields to a model view to enable validation and required fields; bind the save button to the model's dirty state so it enables only when fields are filled.
Add a reset button wired to the model rollback to reset fields to their previous state, enabled only when the model is dirty.
Use the view model's validation context to create custom validators with a lambda, enabling checks for null or blank fields and showing a 'this is required' error.
Explore type-safe styling, inline styles, and applying style classes to style TornadoFX views. Revamp the calculator example to be more visually appealing as you apply these styling techniques.
Explore how to apply inline type-safe CSS in TornadoFX, adjusting border radius, padding, and border colors using multi-value boxes and dimension types, with practical button styling and rotation.
Learn to organize styling in tornado fx by using a styles class that extends stylesheet, with a companion object and delegated properties for headings and colors to enable type-safe styling.
Enable hot reload in TornadoFX by setting live reload in edit configurations and running in debug mode; modify styles or views and recompile to see immediate UI updates.
Revamp the bill splitter calculator using type-safe styling and styling classes. Apply the styling to the existing project code and lines.
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 - 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 out all of the verbose, hard-to-maintain Java code.
TornadoFX, powered by the statically typed JVM language (Kotlin), makes it a breeze to build rich, feature-packed user interfaces.
Also, TornadoFX minimizes, greatly, the amount of code needed to build JavaFX applications making the codebase easy to maintain and extend.
Note: This course expects you have some preliminary knowledge about OOP in Any Language, and preferably Kotlin, but not required.
TornadoFX not only includes type-safe builders to rapidly layout controls and user interfaces but also features:
Dependency Injection
Delegated Properties
Control Extension functions
Here's what we'll cover in this course:
Learn the differences between JavaFX using Java and JavaFX using TornadoFX
Setup our development environment to start using TornadoFX
Understand JavaFX Components and how they are easily created with TornadoFX
Basic Controls in TornadoFX
Data Controls
Type-Safe CSS
Using type-safe builders to create controls and layouts in a breeze
Editing and Model Validation in TornadoFX
Dependency Injection
JSON and REST
Connecting a TornadoFX App to a SQLite Database
Creating Shapes and Animations
Building Java Business Applications with Workspace
Additionally, this course comes with the following:
Lifetime Access to All Future Updates
A responsive Instructor to answer questions
Resources to further your knowledge
Udemy Certificate of Completion Ready to Download upon finishing the course
A 30 Day "No Questions Asked" Money Back Guarantee!
Learning TornadoFX is going to allow you to start giving more value to your company, institution or business, as you'll be creating "in-house" software in no time.
Don't overthink it. Just enroll and start learning TornadoFX - the next level of crafting maintainable, clutter-free JavaFX UI heavy desktop Applications!