JavaFX の SplitPane の setResizeWeight() に相当しますか?
質問
Swing では、次のように使用できます。 setResizeWeight()
JSplitPane で、SplitPane のどの部分が利用可能なスペースを受け取ったかを判断します。JavaFX 2.2に同等のメソッドはありますか?しか見つからない setDividerPosition()
このメソッドは実際には私が望むことを実行しません(サイズが変更されるたびに手動で呼び出すこともできますが、可能であればそれを避けたいです)。
電話することもできました setResizableWithParent(false)
, しかし、これも私が求めているような制御を提供するものではありません。
解決
SplitPane の API を調べているときに、この静的関数を見つけました。 setResizableWithParent(root, Boolean.FALSE) と同様の機能を提供します setResizeWeight()
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
の値を模倣することができます setResizeWeight(0)
そして setResizeWeight(1)
しかしその間にはまったく何もありません。基本的に、ノードは自由に流れることも固定されることもできます。
所属していません StackOverflow