Equivalent of setResizeWeight() on SplitPane in JavaFX?


Question

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.

1
7
10/16/2012 5:02:06 PM

Accepted Answer

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.

4
10/12/2012 12:35:09 AM

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon