Sitemap

A list of all the posts and pages found on this site. For you robots out there is an XML version available for digesting as well.

Pages

Sorry, but this content isn’t ready yet.

1 minute read

Taking a first look at how we’ll display the various counters used for the defending units.

2 minute read

Now we are ready to start building an application that actually does something. We’re going to build a CRUD (Create, Retrieve, Update and Delete) application for a customer database.

less than 1 minute read

Blowing things Up: CyberTank Combat - Part 1

7 minute read

CyberTank Movement - Part 1

3 minute read

CyberTank Movement - Part 2

10 minute read

Examining how “Drag and Drop” works and using it to deploy units on the map.

4 minute read

Our first look at overall game structure and how the other parts are contained within it.

PragmaticCoding is all about … pragmatic coding! Writing code that gets the job done and is easy to read, understand, maintain and enhance.

4 minute read

Intermission - Progress So Far”

6 minute read

Oops! Forgot about Light Tanks, and they have a different unit cost. How are we going to fix this?

less than 1 minute read

MOOSE: Mechanical Ogre Opponent Simulation

8 minute read

The last problem with our application is that it can save duplicate customer records, corrupting our database. This means adding some rules to our database and telling our GUI when those rules have been broken. We’ll see how to handle exceptions from the back-end in our application.

3 minute read

At this point we have a pretty clean “Create” application. It’s error resistant, doesn’t corrupt our database and ready to add some more functionality. Let’s look at what we’ve done so far.

6 minute read

It’s finally time to add a third field to our screen! In this article we’re going to add just a single new field, for email, to our screen. We’re going to see how the process goes from the View all the way down to the Broker. Most importantly, we going to see how we need to be vigilant in ensu...

7 minute read

In this article we’re going to look at how Feature Envy has crept into our View code. We’re going to look at why this happens, and how to deal with it. Finally, we’re going to see how clearing out Feature Envy makes our code much cleaner and easier to understand.

9 minute read

GUI applications need a way for the user to interact with them. In this lesson we’ll show how to allow user input with TextField, and to launch an action with a Button.

7 minute read

JavaFX includes Cascading Style Sheets for styling the elements of your GUI. This is a quick guide about how to use them.

2 minute read

Building an application that “does something” means adopting a framework that works well with JavaFX. Here we build the skeleton of the Model-View-Controller-Interactor framework that we’re going to use for our CRUD application.

9 minute read

The first feature for our CRUD application has to be “Create”. In this lesson we’ll get started by designing the GUI and connecting it to the Controller.

7 minute read

In this lesson we finish up a “bare-bones” Create function by building the back-end and connecting it to the business logic in the Interactor. Part of this involves creating a simulated database.

3 minute read

Now we’ve completed the core programming for our “Create” function, where do go next. We’ll look at the idea of a “Product Backlog”, and talk about how we should prioritize our next steps.

9 minute read

Our simulated database doesn’t really do a good job standing in for a real database because it works too fast. We’ll slow it down and see what horrible things this does to our application. Then we’ll see how to deal with this.

3 minute read

We’ve also got a big problem with our application because there’s no data validation in our screen. This means that users can save invalid customer data. We’ll look at how to cope with this properly.

less than 1 minute read

Now we are ready to look at how to start a game by letting the user position their forces.

5 minute read

Examining how the side-bar for selection of defending forces works.

5 minute read

After integrating Light Tanks, back to how the sidebar works.

1 minute read

Tiles are the autonomous units of display in the Hex Map. Let’s see how they work.

less than 1 minute read

Looking at how clicks on the max hexes during setup can be used to remove units from the map.

PragmaticCoding is all about … pragmatic coding! Writing code that gets the job done and is easy to read, understand, maintain and enhance.

PragmaticCoding is all about … pragmatic coding! Writing code that gets the job done and is easy to read, understand, maintain and enhance.

PragmaticCoding is all about … pragmatic coding! Writing code that gets the job done and is easy to read, understand, maintain and enhance.

PragmaticCoding is all about … pragmatic coding! Writing code that gets the job done and is easy to read, understand, maintain and enhance.

PragmaticCoding is all about … pragmatic coding! Writing code that gets the job done and is easy to read, understand, maintain and enhance.

Posts

14 minute read

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.

21 minute read

Taking a look at a JavaFX application that suffers from some very common beginner mistakes, converting it to Kotlin and sorting out the issues.

6 minute read

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.

15 minute read

Looking at ListView as a scrolling region of customized layouts, not just a list of String.

23 minute read

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.

21 minute read

In JavaFX 19 and 21, new methods have been added to the Observables library that should change the way you write Bindings and Listeners

27 minute read

We’re going to look at coupling: What it is, why it’s bad, and the ways that it can creep into your code.

17 minute read

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.

10 minute read

An introduction to ListView and understanding how to use it to display something more than just lists of Strings.

26 minute read

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.

19 minute read

What is a TableView and how do you use it? Here’s enough information to get you started with TableView the right way.

21 minute read

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.

17 minute read

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.

12 minute read

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.

18 minute read

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.

20 minute 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.

17 minute read

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.

19 minute read

Need to understand a Kotlin program, but you only know Java? This article should give you everything you need to know to get started.

24 minute read

How to set up a more complex project with multiple screens with varying levels of connectedness.

31 minute read

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?

3 minute read

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.

13 minute read

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?

19 minute read

“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.

13 minute read

Custom binding classes aren’t used that often, but understanding them is the key to understanding how to use the Bindings library builder methods.

15 minute read

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.

9 minute read

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.

16 minute read

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.

16 minute read

The original Wordle is JavaScript in a browser, here’s an implementation of it in Reactive JavaFX written in Kotlin.

10 minute read

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.

19 minute read

Everything you need to know about Events

11 minute read

Let’s look at Buttons.How to set them up and style them, how to use them, and things to look out for.

13 minute read

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.

11 minute read

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?

4 minute read

An approach to implementing the JavaFX Property “bean” structure for observable objects in an idiomatic Kotlin fashion.

16 minute read

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?

16 minute read

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?

13 minute read

How much code does it take to build a complete Hangman game in JavaFX?It turns out … Not much!

4 minute read

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.

8 minute read

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.

14 minute read

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...

11 minute read

In Part 2, we’ll build a filter and converter which will handle decimal data input with a fixed number of decimal places.

8 minute read

JavaFX contains powerful tools to turn simple TextFields into specialized entry fields for any kind of data you can think of.

19 minute read

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.