2011-07-26 3 views
0

이전 JavaFX 2.0 버전의 JavaFX 2.0 b36 (Windows (32 비트) + Netbeans 플러그인 용 SDK)으로 업데이트 한 후 SplitPane 컨트롤이 더 이상 예상대로 작동하지 않습니다.JavaFX 2.0 SplitPane이 예상대로 작동하지 않습니다.

  1. 는 분배기
  2. 이동할 수없는 분주 위치가 포함되는 변의
  3. 사이징이를 SplitPane 내 예제 코드 여기

예상되지 않는 것으로 예상되지 않기 때문에.

public class FxTest extends Application { 

    public static void main(String[] args) { 
     Application.launch(FxTest.class, args); 
    } 

    @Override 
    public void start(Stage primaryStage) { 
     primaryStage.setTitle("SplitPane Test"); 

     Group root = new Group(); 
     Scene scene = new Scene(root, 200, 200, Color.WHITE); 

     Button button1 = new Button("Button 1"); 
     Button button2 = new Button("Button 2"); 

     SplitPane splitPane = new SplitPane(); 
     splitPane.setPrefSize(200, 200); 
     splitPane.setOrientation(Orientation.HORIZONTAL); 
     splitPane.setDividerPosition(0, 0.7); 
     splitPane.getItems().addAll(button1, button2); 

     root.getChildren().add(splitPane); 

     primaryStage.setScene(scene); 
     primaryStage.setVisible(true); 
    } 
} 

가능한 한 왼쪽이 분명히 오른쪽보다 작게 표시되어 있습니다. 당신이 수직

splitPane.setOrientation(Orientation.VERTICAL); 

로 방향을 변경하고 '여기'라고 일부 콘솔 출력을 얻을 위 또는 아래로 구분선을 이동하려고 할 때

또 다른 재미있는 사실이다. 일부 테스트 출력처럼 보입니다.

이 문제는 무엇입니까?

+0

나에게도 똑같은 일이 발생합니다. – cybermotron

답변

3

예상대로 SplitPane을 작동 시키려면 각면에 레이아웃 (예 : BorderPane)을 추가하십시오. 각 레이아웃에 표시 할 컨트롤을 추가하십시오. 나는 이것을 API 문서에서 더 분명하게 만들어야한다고 생각한다.

public class FxTest extends Application { 

    public static void main(String[] args) { 
     Application.launch(FxTest.class, args); 
    } 

    @Override 
    public void start(Stage primaryStage) { 
     primaryStage.setTitle("SplitPane Test"); 

     Group root = new Group(); 
     Scene scene = new Scene(root, 200, 200, Color.WHITE); 

     //CREATE THE SPLITPANE 
     SplitPane splitPane = new SplitPane(); 
     splitPane.setPrefSize(200, 200); 
     splitPane.setOrientation(Orientation.HORIZONTAL); 
     splitPane.setDividerPosition(0, 0.7); 

     //ADD LAYOUTS AND ASSIGN CONTAINED CONTROLS 
     Button button1 = new Button("Button 1"); 
     Button button2 = new Button("Button 2"); 

     BorderPane leftPane = new BorderPane(); 
     leftPane.getChildren().add(button1); 

     BorderPane rightPane = new BorderPane(); 
     rightPane.getChildren().add(button2); 

     splitPane.getItems().addAll(leftPane, rightPane); 

     //ADD SPLITPANE TO ROOT 
     root.getChildren().add(splitPane); 

     primaryStage.setScene(scene); 
     primaryStage.setVisible(true); 
    } 
} 
관련 문제