Contar todos os index da TableView

Olá a todos!

Estou construindo um pequeno projeto pessoal para aprendizado!

Preciso pegar o tamanho do index de uma tableview, eu consigo pegar o index de uma linha especifica caso eu a selecione, ok! Porém eu quero retorno da quantidade total de index contidos na tabela. Se alguém puder ajudar, eu agradeço muito desde já.

int quantidade = meuObjetoTableView.getItems().size();
1 curtida

Staroski, agradeço muito sua resposta! É exatamente isso que eu queria! Estava ao inves de pegar o .getItems() estava indo pro .getSelectionModel().

Ok, consegui retornar o tamanho do meu index, porém quando peço pra imprimir os dados nas linhas, me retorna null; Segue meu código. identar texto pré-formatado por 4 espaços.

Tenho minha classe Model:

package model;

public class ModelPlanoContas {

private String codigo;
private String descricao;
private Double valor;
private String lista;

public ModelPlanoContas(String codigo, String descricao, Double valor) {
    this.codigo = codigo;
    this.descricao = descricao;
    this.valor = valor;
}

public ModelPlanoContas() {
}

public String getCodigo() {
    return codigo;
}

public void setCodigo(String codigo) {
    this.codigo = codigo;
}

public String getDescricao() {
    return descricao;
}

public void setDescricao(String descricao) {
    this.descricao = descricao;
}

public Double getValor() {
    return valor;
}

public void setValor(Double valor) {
    this.valor = valor;
}

public String getLista() {
    return lista;
}

public void setLista(String lista) {
    this.lista = lista;
}

No meu initialize tenho os setValues

colCodigoCentroCusto.setCellValueFactory(new PropertyValueFactory<>("codigo"));
colDescricaoCentroCusto.setCellValueFactory(new PropertyValueFactory<>("descricao"));
colValorCentroCusto.setCellValueFactory(new PropertyValueFactory<>("valor"));

E esse é o método que criei com sua resposta que pega a quantidade de index da tabela porém ele não imprimi o conteudo da tabela apenas, null;

public void pegarTabelaContaGerencialInserirBD(){
        ModelPlanoContas tab = new ModelPlanoContas();
        int contador;
        int index = tableContaGerencial.getItems().size();
        for(contador = 0; contador < index; contador++){
            System.out.println(txtIndexador.getText());
            System.out.println(tab.getCodigo());
            System.out.println(tab.getDescricao());
            System.out.println(tab.getDescricao());
            System.out.println(tab.getValor());
}

E esse é o resultado da impressão.

1
null
null
null
null
1
null
null
null
null
1
null
null
null
null

Esse 1 realmente é assim, porém o problema está no restante, eu tenho três colunas, não deveria me retornar apenas 3 null? e pq está retornando null e não os valores contidos na tabela.

Se estiver fazendo algo errado ou se tiver ideia de como deixar mais interessante o codigo, agradeço!

Obrigado mais uma vez!

E porque esse objeto tab deveria ter propriedades diferente de null?
Ele é um objeto que você acabou de criar fora do laço, não tem nada a ver com os itens da sua tableContaGerencial.

Você tem que iterar a lista de itens:

List<ModelPlanoContas> planos = tableContaGerencial.getItems();
for (ModelPlanoContas tab : planos) {
    System.out.println(txtIndexador.getText());
    System.out.println(tab.getCodigo());
    System.out.println(tab.getDescricao());
    System.out.println(tab.getDescricao());
    System.out.println(tab.getValor());
}
1 curtida

Staroski, vc estácerto! Na verdade eu estava inserindo os dados na lista com uma instancia do plano e imprimindo com outra, por isso o Null, obviamente não percebi isso!.. Consegui resolver, obrigado pelas dicas!

1 curtida

Staroski! Na verdade acabei vendo algo estranho que achei que ia conseguir entender e resolver, mas ta complicado, pelo menos para mim… os objetos getCodigo() e getDescricao() estão sendo impressos normalmente, porém o objeto getValor() que é Double continua como null. Alguma idéia do que seja?

Staroski! Resolvido!!! :smiley: