7

Swingでは、setResizeWeight()JSplitPaneを使用して、SplitPaneのどの部分が使用可能なスペースを受け取ったかを判別できます。JavaFX 2.2に同等の方法はありますか?自分が望むことを実際に実行しないメソッドしか見つけることができsetDividerPosition()ません(サイズが変更されるたびに手動で呼び出すことができますが、可能であればそれを避けたいと思います)。

と呼ぶこともできますがsetResizableWithParent(false)、それでも私が求めている種類の制御は提供されません。

4

1 に答える 1

4

SplitPaneのAPIを調べているときに、JSplitPaneと同様の機能を提供するこの静的関数setResizableWithParent(root、Boolean.FALSE)setResizeWeight()を見つけました。

    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の値を模倣できますが、その間にはまったく何もsetResizeWeight(0)ありません。setResizeWeight(1)基本的に、ノードはフリーフローまたは固定のいずれかです。

于 2012-10-11T19:30:32.317 に答える