A similar, or at least related, issue I created a while back: https://javafx-jira.kenai.com/browse/RT-17988
On 04/06/2013, at 5:28 AM, Werner Lehmann <lehm...@media-interactive.de> wrote: > Hi Richard, > > thanks for the quick reply. FYI, I am currently using a hardcoded value with > some extra space, hopefully sufficient for all platforms. > > On 03.06.2013 20:57, Richard Bair wrote: >> I think calling it a bug would be fair, and this approach should work. > > I'll create a ticket later. > >> Hmmm. I guess fitToWidth doesn't work for you because you want the >> content to dictate the size of the scroll pane, and not the other way >> around? Maybe a combination of this and a subclass to work around the >> issue you are seeing? > > Exactly. fitToWidth removes the horizontal scrollbar but abbreviates the > label text ("..."). The suggested subclass approach does not work because > prefWidth() is final in Control. Is there any event I could listen for to > update the prefWidth? I tried "onSceneChange" but that seems to be too early > as prefWidth(-1) returns 0.0 then. > >> Or maybe the ScrollPane, when fitToWidth is true, automatically >> adjusts its pref width to match that of its content? That would seem >> to be the "right" thing to do in this case, but I don't know that it >> does (or that it makes sense in all cases?). > > ScrollPane.fitToWidth resizes its content (if resizable) to its viewport > width. Does nothing if content is not resizable, and does not seem to change > ScrollPane.prefWidth. I'd say "fit-to-width" could mean both: "fit content to > viewport width" and "fit viewport width to content". The former is already > implemented, of course. No horizontal scrollbar in either case. > >> So it seems to me that there are at least 2 different ways we could >> go about supporting this specific use case, one seems like a >> straightforward thing (let -1 have meaning for prefViewportWidth) and >> one is the result of a perhaps questionable interpretation >> (fitToWidth=true changes the way we compute the prefWidth of the >> ScrollPane). Both seem reasonable ways to have tried to use the >> control and both yield unexpected results it sounds like. > > The binding was not really obvious to me but eventually I arrived here and it > would be nice to have this working. Additional API would make this easier to > find but it might be hard to come up with something which makes sense in the > API and does not change or conflict with existing API. > > Werner