[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    Re: ScrollPane needs GrowToFitWidth?
From:       David Grieve <david.grieve () oracle ! com>
Date:       2014-01-31 19:47:14
Message-ID: 174C2AFC-727E-4292-B410-AB7C2519AF1C () oracle ! com
[Download RAW message or body]

I encourage you to take a hack at ScrollPaneSkin. In particular the method \
computeScrollNodeSize. I suspect the change would be pretty much localized to this \
method. 

On Jan 31, 2014, at 2:02 PM, Jeff Martin <jeff@reportmill.com> wrote:

> ScrollPane has the feature for content that needs to track the viewportBounds size, \
> FitToWidth/FitToHeight, which is nice for things like text areas that wrap text. \
> Conceptually, it seems like FitToWidth is basically binding Content.PrefWidth to \
> ViewportBounds.Width. 
> But it seems more often I really want to bind Content.MinWidth/MinHeight to \
> ViewportBounds.Width/Height. This is common for things like text areas that don't \
> wrap text or most text area height (and much more). So I end up doing a bit of \
> this: 
> // Add content to ScrollPane and make sure it is at least as big as ViewportBounds
> final Region content = myContent;
> ScrollPane scrollPane = new ScrollPane(); scrollPane.setContent(content);
> scrollPane.viewportBoundsProperty().addListener(new ChangeListener<Bounds>() {
> public void changed(ObservableValue<? extends Bounds> arg0, Bounds oldBounds, \
> Bounds newBounds) { content.setMinWidth(newBounds.getWidth()); \
> content.setMinHeight(newBounds.getHeight()); }}); 
> To me, this makes it seem like the ScrollPane is only there when it's needed \
> (otherwise, it's like an invisible Parent Pane). This seems ideal for a default \
> ScrollPane. 
> Obviously, this isn't a lot of code, but it's non-obvious, and from googling, it \
> looks like people stumble over FitToWidth first. It seems to me that a \
> setGrowToFitWidth/setGrowToFitHeight would be at least as useful. Unless I missed \
> something. :-) 
> Jeff Martin
> 214.513.1636


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic