"bind" is a JavaFX operator that you use to bind the value of a
variable to the value of another.
for example: var a = bind b. if b changes, so does a.
This is called data binding and is an essential aspect of rich
internet applications.
And yes, data binding is expensive. I try to keep it to a minimum. I
guess that would be a good "best practice" Michael Heinrich could add
on his blog.
I am currently working on a simple listbox component that should
perform better that the generic scrollview component (which I also
made).
The scrollview keeps all its contents in the scene graph, no matter if
only part of it is actually visible. I suspect that that is causing
much of the sluggishness.
The listbox is going to be a lot more economic with the scene graph.
It will only hold the nodes that it can actually show. This would take
a lot of load from the scene graph rendering engine (less
recalculations of node dimensions, and less redraws).
I haven't quite finished the listbox yet, but I'm getting close.