2015-11-27 66 views
0

崩潰TitledPane所以,這是代碼,我現在有:如何擴大和JavaFX的

SplitPane sp = new SplitPane(); 
    final StackPane sp1 = new StackPane(); 

    final Accordion accordion = new Accordion(); 

    TitledPane tp1 = new TitledPane(); 
    tp1.setText("First"); 
    TitledPane tp2 = new TitledPane(); 
    tp2.setText("Second"); 
    TitledPane tp3 = new TitledPane(); 
    tp3.setText("Third"); 

    accordion.getPanes().add(tp1); 
    accordion.getPanes().add(tp2); 
    accordion.getPanes().add(tp3); 


    sp1.getChildren().add(accordion); 

    final StackPane sp2 = new StackPane(); 
    sp.getItems().addAll(sp1 , sp2);   
    double height = Screen.getPrimary().getVisualBounds().getHeight(); 
    double width = Screen.getPrimary().getVisualBounds().getWidth(); 
    Scene scene = new Scene(sp); 
    primaryStage.setScene(scene);   
    primaryStage.setMaximized(true); 
    primaryStage.setMinHeight(height); 
    primaryStage.setMinWidth(width);   
    primaryStage.show(); 
    sp.setDividerPositions(0.3); 

正如你所看到的,我有三個TitledPane的內線手風琴。我想要的是,當用戶點擊TitledPaned時,它應該擴展到其父對象的全部高度(在這種情況下爲手風琴)。但我不知道該怎麼做。這是我現在有:

enter image description here

請注意,這對即使第一板啓動上面的圖片,沒有展開。一個這就是我想要的東西:

enter image description here

(我手動創建的最後一張照片)。謝謝!

回答

1

我想,您需要撥打setContent()方法。

實施例:

 TextField firstNameFld = new TextField(); 
     firstNameFld.setPrefColumnCount(8); 
     TextField lastNameFld = new TextField(); 
     lastNameFld.setPrefColumnCount(8); 
     GridPane grid = new GridPane(); 
     grid.addRow(0, new Label("First Name:"), firstNameFld); 
     grid.addRow(1, new Label("Last Name:"), lastNameFld); 
     tp1.setContent(grid); 
     tp2.setContent(new Label("tp2.............")); 
     tp3.setContent(new Label("tp3.............."));