2012-10-02 13 views
7

W Swing możemy użyć setResizeWeight() na JSplitPane, aby określić, jaka część SplitPane otrzymała dostępną przestrzeń. Czy istnieje odpowiednik metody w JavaFX 2.2? Mogę tylko znaleźć metodę, która tak naprawdę nie robi tego, co chcę (można to nazwać ręcznie za każdym razem, gdy zmieni się rozmiar, ale chciałbym tego uniknąć, jeśli to możliwe.)Równoważnik setResizeWeight() w SplitPane w JavaFX?

Mogę również zadzwonić pod numer setResizableWithParent(false) , ale znowu to naprawdę nie zapewnia mi tego rodzaju kontroli.

Odpowiedz

4

Podczas przechodzenia przez API dla SplitPane, znalazłem tę funkcję statyczną - setResizableWithParent(root, Boolean.FALSE), która zapewnia podobną funkcjonalność co setResizeWeight() w 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 mogą naśladować wartości setResizeWeight(0) i setResizeWeight(1) ale absolutnie nic pomiędzy. Zasadniczo węzeł może być swobodny lub naprawiony.

+0

Dzięki za odpowiedź - ale tak, szukam czegoś o różnej wadze czegoś pośredniego! Na tym polega moja trudność ... – berry120

+0

'primaryStage.titleProperty(). Bind (scene.widthProperty(). AsString(). Concat (": "). Concat (sc.heightProperty(). AsString())) ; DoubleBinding wid = scene.widthProperty(). Add (0); 'Próbowałem powiązać to z' sp1.widthProperty() ', ale nie ma takiej funkcji w API. – Avik

+0

Dzięki za tę odpowiedź pomógł mi i tak, setResizeWeight byłoby świetnie. – Burkhard