I'm not familiar with the JavaFX library (which I recall looking a bit into and its a gui extension?), but what you have here looks similar to swing. Under the description you have here, it is similar to a swing component issue as well. The setGraphic is a bit different though.
Does the JavaFX have an invalidate option as a part of its base component? If so, try invalidating "this" and see if the gui forces a repaint. I often have these same issues with the swing which is why I typically reserve components that are treatable as input components as the container for anything dynamic (textboxes for example will always repaint).