Pegar todos os dados de uma Row e uma TableView

Pessoal, preciso pegar todos os dados de uma Linha (Row) de uma TableView. Usei o código abaixo para pegar
o indice da linha (row) selecionada e com este indice pegar os dados de todas as células da linha. Não dá erro,
porem o conteudo do String dadosDaLinha não fica com os valores reais. Deem uma olhada:

  oTableView.setRowFactory (tv -> 
  {
     TableRow<ObservableList> oRow = new TableRow<>();
     oRow.setOnMouseClicked (event -> 
     {
        if (event.getClickCount() == 1 && (!oRow.isEmpty()))
        {
           int index = oTableView.getSelectionModel().getSelectedIndex();
           String dadosDaLinha = oTableView.getItems().get(index).toString();
        }
     });
        return oRow;
  });

Grato.

Complementando: o indice é obtido perfeitamente. Só não consigo pegar o conteúdo de toda a Linha
como um String. Pelo q vi na WEB, a Linha da Tabela convertida para String viria com separador (,) entre
os dados de cada célula da linha. Usei o println com o dadosDaLinha.intern() para ver o conteúdo “limpo”,
mas isso não ocorre.

Como é montada a sua tabela? através de uma Objeto de modelo?

se for através de um objeto de modelo, você pode fazer dessa forma:

    // checa se uma linha foi selecionada
    if (table_empresas.getSelectionModel().getSelectedItem() != null) {

       ClasseModelo modelo  = table.getSelectionModel().getSelectedItem();

    }

Daí os dados todos serão carregados para o seu model ‘ClasseModelo’ para você usar como quiser… ex:

Sys.out.println(modelo.getId());

cria um método com os dados acima, e chama esse método no evento onClick da sua tabela.