I'm looking for a general strategy or approach as opposed to a solution for a specific code problem, kind of a "look at this class" or "you want to use this approach" kind of answer.
I'm frustrated in not being able to have multiple independently operating UI elements in FX. As a simple example, I can put a counter (textbox with a timeline that updates it counting as fast as it can), and it works fine just sitting there. But as soon as I start to do other things in the UI, it interrupts my counter causing it to stall/pause momentarily.
How can I have a timer (let alone sophisticated animated charts or something) that continue to update seamlessly and independently of anything else going on in the UI?
Don't perform long running operations on the JavaFX application thread. Regular use of UI components should not really affect the counter. If an event handler does more than just update the user interface quickly, let it do the heavy lifting in a background task.
Use javafx.concurrent.Task or javafx.concurrent.Service to perform long running tasks in the background. A task can fire its own events to notify the application thread of updates to the state of the background task.