Maybe if you can post the relevant part of your layoutChildren method so that others can look if they can suggest an improvement.
Tomas On Tue, Feb 17, 2015 at 5:05 PM, Tom Eugelink <t...@tbee.org> wrote: > On 17-2-2015 20:01, David Grieve wrote: >> >> On 2/17/15 1:30 PM, Tom Eugelink wrote: >>> >>> The control is a codewise polish up one of Gerrit's gauges (with >>> permission!) and pulled into JFXtras (with tests and all). For an idea on >>> what we are talking about: >>> https://www.youtube.com/watch?v=RH5X1uBu1d8 >>> >>> The process of centering the Text in that circle is a bit more complex. >>> 1. The value may vary between a min and max value. >>> 2. I want the Text to automatically utilize the maximum available space, >>> but not change size when a longer or shorter text is shown. >>> >>> To do this I have two additional Text nodes that have the same styling as >>> the Text node (so these are on the scene, but not visible, otherwise CSS is >>> not applied). These two text nodes get the maximum and minimum possible >>> value set. Then on these two some pythagoras is applied and in that way one >>> can determine the scale factor so that the value will never be rendered >>> outside of the circle. Then the actual to-be-rendered value can be placed >>> into the Text node and positioned in the centre of the circle. >>> >>> The problem is that a lot of these calculations depend on the CSS >>> styling. What font is set? Bold or not? So I can only do these calculcation >>> after the CSS has been applied. This unfortunately is not yet the case when >>> the skin is instantiated. This means that if I do not used the >>> layoutChildren, the initial presentation is totally off, untill the first >>> min/max/value is set. >> >> Have you looked at the javadoc for Node#applyCss()? > > > I did just now and tried calling that and layout when the skin is being > instantiated, but apparently things are not setup right yet. > > Maybe layoutChildren with bound checking is the way to go.