import javafx.application.Application; import javafx.beans.value.*; import javafx.event.*; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.stage.Stage; public class RT33416 extends Application { private int rowIndex = 0; public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) { final GridPane gridPane = new GridPane(); ScrollPane scrollPane = new ScrollPane(gridPane); TitledPane titledPane1 = new TitledPane("TitledPane 1", scrollPane); // **** Comment out this line to see bug **** gridPane.add(new TextField(), 1, rowIndex++); Button button = new Button("Add row"); button.setOnAction(new EventHandler() { @Override public void handle(ActionEvent t) { gridPane.add(new TextField(), 1, rowIndex++); } }); TitledPane titledPane2 = new TitledPane("TitledPane 2", null); Accordion accordion = new Accordion(); accordion.getPanes().addAll(titledPane1, titledPane2); accordion.setExpandedPane(titledPane1); VBox vbox = new VBox(20); VBox.setVgrow(accordion, Priority.ALWAYS); vbox.getChildren().addAll(accordion, button); primaryStage.setScene(new Scene(vbox, 300, 400)); primaryStage.setTitle("RT33416"); primaryStage.show(); } }