javafx 2 kolumna dynamiczna widoku tabeli

Czy ktoś może zasugerować problem w poniższym kodzie. Nie jestem w stanie wypełnić danych w tabeli. Ten kod powinien w zasadzie dodać jedną kolumnę (col1) i dodać jeden wiersz z danymi d1. Ten kod jest w stanie dodać kolumnę, ale nie dane.

Kontroler -

import java.util.ArrayList;
import java.util.List;

import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.fxml.FXML;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;

public class FXMLTableViewController {
    @FXML private TableView tableView;

    @FXML
    private void initialize() {
        List<String> columns = new ArrayList<String>();
        columns.add("col1");
        TableColumn [] tableColumns = new TableColumn[columns.size()];     
        int columnIndex = 0;
        for(String columName : columns) {
            tableColumns[columnIndex++] = new TableColumn(columName);
        }
        tableView.getColumns().addAll(tableColumns);
        ObservableList<ObservableList> csvData = FXCollections.observableArrayList();
        ObservableList<String> row = FXCollections.observableArrayList();
        row.addAll("d1");
        csvData.add(row);
        tableView.getItems().add(csvData);

    }

    }

fxml

<?import javafx.collections.*?> 
<?import javafx.geometry.Insets?>
<?import java.lang.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.control.cell.*?>
<?import javafx.scene.layout.*?>
<?import fxmltableview.*?>


<GridPane alignment="center" hgap="10.0" vgap="10.0" fx:controller="FXMLTableViewController"
             xmlns:fx="http://javafx.com/fxml">
     <TableView fx:id="tableView" GridPane.columnIndex="0" GridPane.rowIndex="1">
          <columns>
          </columns>    
     </TableView>
</GridPane>

Klasa główna -

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;

public class FXMLTableView extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {
        primaryStage.setTitle("FXML TableView Example");
        Pane myPane = (Pane)FXMLLoader.load(getClass().getResource("fxml_tableview.fxml"));
        Scene myScene = new Scene(myPane);
        primaryStage.setScene(myScene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

questionAnswers(3)

yourAnswerToTheQuestion