How to allow users to customize the UI

Idea Take advantage of the declarative design pattern of JavafX/FXML and allow users to customize a certain view without any coding just by opening it with e.g. SceneBuilder to re-arrange the layout or add new controls or even change the style according to the users needs. The FXML file + CSS can be basically be… Continue Reading How to allow users to customize the UI

Properties Extractor: Best way to get the ListView instantly updating its elements

This post is about how to deal with JavaFX ListViews and TableViews and how these controls are getting informed about changed content of the contained elements. I wonder why I didn’t find anything about the following pattern in the relevant books as this is a really crucial mechanism. Many posts out there suggest to force… Continue Reading Properties Extractor: Best way to get the ListView instantly updating its elements

ShichimiFX – Yet another JavaFX utils lib

ShichimiFX is a small lib containing helper/util classes extracted from my other projects which I commonly need. The lib will be extended if it turns out that I need a util class in more than one project… (Shichimi is my favorite Japanese spice mixture) And yes it also yet another utils lib containing (among others):… Continue Reading ShichimiFX – Yet another JavaFX utils lib

The JDK 8u20 “Tap trap”

When switching MQTT.fx to JDK 8u20 I was nicked by the fix of RT-24658. The fix definitely makes sense but may clash with my TabPaneDetacher approach. In MQTT.fx the content of the Tabs is disabled as long the MQTT-Broker is not connected. And I am using Property Bindings for this. E.g. in the PublishController “publishBox”… Continue Reading The JDK 8u20 “Tap trap”

UI logic with using JavaFX Bindings

For MQTT.fx I needed a ComboBox to enter new Topics or to choose recent topics from list. But I want the user to enter or choose only (more or less) reasonable values otherwise the “Publish”/”Subscribe” buttons should be disabled: Using the JavaFX Bindings API prevents some boilerplate code (implementing Listeners) and it is even more… Continue Reading UI logic with using JavaFX Bindings