2012-10-02 11 views
7

Swingでは、JSplitPaneでsetResizeWeight()を使用して、SplitPaneのどの部分が使用可能な領域を受け取ったかを判断できます。 JavaFX 2.2には同等のメソッドがありますか?私は本当に私がやりたいことはありませんsetDividerPosition()方法を見つけることができます(許可を私はたびに手動でサイズを変更し、それを呼び出すことができますが、私は可能であればということを回避したいと思います。)JavaFXのSplitPaneでsetResizeWeight()に相当しますか?

を私もsetResizableWithParent(false)を呼び出すことができますしかし、それは本当に私が後にしている種類のコントロールを提供するものではありません。

答えて

4

SplitPaneのAPIを見ているうちに、JSplitPaneのsetResizeWeight()と同じ機能を提供するこの静的関数 - setResizableWithParent(root, Boolean.FALSE)が見つかりました。

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)が、絶対に何の値を模倣することができます。基本的に、ノードはフリーフローまたは固定のどちらでもかまいません。

+0

答えてくれてありがとう - でも、私は間に何かのリサイズウェイトを持つ何かの後ろです!それは私の難しさがどこにあるのかです... – berry120

+0

'primaryStage.titleProperty()。bind(scene.widthProperty()。asString()。concat(": ")。concat(sc.heightProperty()。asString())) ;これを 'sp1.widthProperty()'で束縛しようとしましたが、そのような関数はAPIにはありません。 – Avik

+0

この回答をありがとう、それは私とはい、setResizeWeight素晴らしいだろうよ助けた。 – Burkhard

関連する問題