2012-10-02 2 views
7

스윙에서 우리는 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())) ; DoubleBinding wid = scene.widthProperty(). add (0);'이것을 sp1.widthProperty()와 바인딩했지만 API에 그러한 함수가 없습니다. – Avik

+0

이 답변을 주셔서 감사합니다. 그렇습니다. setResizeWeight가 좋습니다. – Burkhard