Taking a look at the structure of the JavaFX ComboBox, and how to do cool things with it.
Categories
javafx
If you are a beginner with JavaFX and are wondering, “What are all these Property things anyway?”, then this is the article for you.
A look at the Observable classes that wrap ObservableList
Confused by the plethora of Property, Binding and Observable classes? This guide will tell you what you really need to know about the typed Observable classes.
Confused by the plethora of Property, Binding and Observable classes? This guide will tell you what you really need to know about the generic Observable classes.
Looking for a framework that works with JavaFX as a Reactive platform? Here’s how to get started with Model-View-Controller-Interactor (MVCI) without a lot of theory.
A look at how to extend the idea of Bindings to include internal state to encapsulate the mechanics of more complicated relationships between ObservableValues in your GUI and your Model.
A deeper look at the Task class and how to monitor progress while a Task in running on a background thread.
What if you need to control the styling of a Node over a range of values? How can you do that, and is there any way create a framework that you can use over and over again?
Understanding the Model-View-Controller-Interactor framework is one thing, but putting it all together to create a large and complicated application means that you’ll need to know how to integrate it with external services.
Another look at some beginner code, and how it could be improved.
A quick guide get started with Gradle in the Intellij IDEA IDE.
There a little known, but very useful function call in most Properties. This can be overridden to turn a Property into a class that transforms a value change into an action.
Taking a look at a JavaFX application that suffers from some very common beginner mistakes, converting it to Kotlin and sorting out the issues.
Here’s a sample application that uses a ListView to display and edit bytes in a data file, showing the values in hex, octal, binary, decimal and as characters.
Taking a look at how EventHandlers, Listeners, Subscriptions and Bindings are different, and how they should be used in a JavaFX application.
Another example of creating a custom class. This time to build a container with a border and a Label that sits on the border.
Looking at ListView as a scrolling region of customized layouts, not just a list of String.
Is there such a thing as a “Right” or “Wrong” when looking at different approaches to solving a programming problem? Can one approach be objectively better than another? Spoiler alert: yes, it can.
How to build a radial menu in JavaFX.
One of the toughest problems beginners encounter is resources that won’t load. Here’s how to figure out how to organize your resources and how find them with your code.
An introduction to ListView and understanding how to use it to display something more than just lists of Strings.
In this article, we taka a look at how TableView handles data, the mechanism that move data in and out of TableCells, and how to work with it.
What is a TableView and how do you use it? Here’s enough information to get you started with TableView the right way.
An introduction to JavaFX Skins and Skinnable and how to create your own skin.
Once you’ve decided extend Region to create a custom control, there are some basic things you should do to make your new control look professional and unified. Here’s how to do that.
Creating a custom control really isn’t that hard to do. But when should you use one, and when should you just use a builder to create a layout?
Lot’s of programmers think that FXML instantly gives them as step up on Model-View-Controller, with the FXML File yielding the View and the FXML Controller acting as the Controller. We’ll look at why this isn’t correct, and how you should implement FXML in the context of MVC.
How to create custom control in JavaFX. Here we look at how to build a three position toggle switch.
The Bindings class is a utility library that provides a huge number of helper methods that can create and manipulate Bindings. Understanding how to use this library can make your code much simpler and easier to read.
Dialogs are the basic tools for interacting with the user in a controlled way as part of a procedural flow. They are best thought of as a way to collect and return information from the user.
Here’s some basic information that everyone needs to understand before they can start building screens with JavaFX…The layout classes and how they are used.
An introduction to a framework that works better with JavaFX than MVC or MVVM.
How to set up a more complex project with multiple screens with varying levels of connectedness.
Taking a look at the three most common design patterns for building systems with user interfaces. How are they different? Which one is best? Is there anything better?
Introducing a “course” for programmers just starting out with JavaFX. Everything you need to know to get from absolute zero knowledge to building real applications that do real work.
Taking a look at the three most common design patterns for building systems with user interfaces. How are they different? Which one is best? Is there anything better?
This article contains all of the information you need to get started with cascading stylesheets in JavaFX.
How to handle image animation with Sprites and scrolling backgrounds
“Hey you jobs! Get off my FXAT!” Learn how to deal with the JavaFX Application Thread - How to get your background jobs onto their own threads the right way, and how process the results back on the FXAT.
Custom binding classes aren’t used that often, but understanding them is the key to understanding how to use the Bindings library builder methods.
The best way to structure an application is to separate the presentation of your data from the logic of your application. That can be hard to do. But not if you take an approach where you configure your screen elements, put them in the layout and then discard any reference to them.
Let’s look at Image and ImageView. How they relate to each other, and how to use them.
A look at how Optional works, and how it isn’t really about Null values - at least not if you were doing it right before Optional.
Another game based project. This time to see how to build an application with the main UI made of a “hex map”, commonly used in war gaming and RPG’s.
Maybe you’ve figured out how to build a working GUI that looks good. Now, how do you connect it to the rest of the world and make it do something?
ChangeListener or InvalidationListener, which is right kind of listener to use?
The original Wordle is JavaScript in a browser, here’s an implementation of it in Reactive JavaFX written in Kotlin.
Pseudo Classes are the best way to handle on/off state changes in a Node in JavaFX. But it’s very badly explained in the JavaDocs and hard to understand. This article should clear that up.
Everything you need to know about Events
Let’s look at Buttons.How to set them up and style them, how to use them, and things to look out for.
An approach to implementing the JavaFX Property “bean” structure for observable objects in an idiomatic Kotlin fashion.
I’ve always advised that Scene Builder and FXML are a waste of time, and that you should just write your screens in Java code. It’s easier to build, it’s easier to customize, easier to maintain, and much, much easier to do really sophisticated things. But how do you start?
How much code does it take to build a complete Hangman game in JavaFX?It turns out … Not much!
Is the Single-Threaded JavaFX GUI a Limitation?
PropertyValueFactory is an obsolete convenience method designed to eliminate boilerplate. We don’t don’t need it any more now that we have Lambda expressions.
Model-View-Controller is generally accepted as a good way to structure an application with a user interface. Since JavaFX implements Reactive programming there’s a natural way to incorporate MVC into a JavaFX application. However, it doesn’t seem to be widely documented and there’s little evide...
In Part 2, we’ll build a filter and converter which will handle decimal data input with a fixed number of decimal places.
JavaFX contains powerful tools to turn simple TextFields into specialized entry fields for any kind of data you can think of.
MineSweeper! Everyone’s favourite time-waster Windows game. Implemented in JavaFX showing how the reactive nature of JavaFX can be used with MVC to create a game.
Stop treating your JavaFX controls as data and passing them global EventHandlers.
kotlin
Interested in programming JavaFX in Kotlin? Here’s what you need to know to write JavaFX code that is so much better than anything you can write in Java.
Need to understand a Kotlin program, but you only know Java? This article should give you everything you need to know to get started.
Kotlin has been described as, “The language that Java would have been if it had been designed 25 years later”. It’s starting to pick up popularity, and has had a boost from being endorsed by Google for Android development.But you’re not an Android developer, so should you learn, and use, Kotlin?
An approach to implementing the JavaFX Property “bean” structure for observable objects in an idiomatic Kotlin fashion.
agile
Stand-ups, Retrospectives, Sprints, Scrum Masters. Is it just bureaucratic nonsense that gets in the way of good programmers doing their thing? It shouldn’t be.
There’s a lot of ways that software development projects can fail, or partially fail. Some of these happen when the users don’t understand as much as you think they do about what you’re building, how it will look and how it will work.
programming
We’re going to look at coupling: What it is, why it’s bad, and the ways that it can creep into your code.
Comments in code are supposed to help other programmers understand your code so that they can build on it, improve it and, sometimes, fix it. Are the comments that you’re leaving in your code helping anyone to do that?
java
In JavaFX 19 and 21, new methods have been added to the Observables library that should change the way you write Bindings and Listeners