In Swing, we could use setResizeWeight()
on JSplitPane to determine what portion of the SplitPane received the available space. Is there an equivalent method in JavaFX 2.2? I can only find the setDividerPosition()
method which doesn't really do what I want (granted I could call it manually each time the size changes, but I'd like to avoid that if possible.)
I could also call setResizableWithParent(false)
, but again that doesn't really provide the sort of control I'm after.
While going through the API for SplitPane, I found this static function - setResizableWithParent(root, Boolean.FALSE) which provides similar functionality as setResizeWeight()
in JSplitPane.
SplitPane sp = new SplitPane();
final StackPane sp1 = new StackPane();
sp1.getChildren().add(new Button("Button One"));
final StackPane sp2 = new StackPane();
sp2.getChildren().add(new Button("Button Two"));
final StackPane sp3 = new StackPane();
sp3.getChildren().add(new Button("Button Three"));
sp.getItems().addAll(sp1, sp2, sp3);
sp.setDividerPositions(0.3f, 0.6f, 0.9f);
SplitPane.setResizableWithParent(sp1, Boolean.FALSE);
primaryStage.setScene(new Scene(sp, 300, 200));
primaryStage.setTitle("Welcome to JavaFX!");
primaryStage.sizeToScene();
primaryStage.show();
setResizableWithParent
can mimic the values of setResizeWeight(0)
and setResizeWeight(1)
but absolutely nothing in between. Basically, the node can either be free-flowing or fixed.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With