[RESOLVIDO][AJUDA] como pegar dados da tabela, onde a tabela foi criada dinamicamente

2 respostas
carlinhoscomp

Fala galera blz né?
é o seguinte, estou criando tabelas dinamicamente.
Estou com dúvida em como pegar os dados da tabela criada.
Segui o código:

public void criaTabela(int qtd) {//Entra com a quantidade de tabela a ser criada
        int cont = 1;
        String referencia = "Tabela";
        JTabbedPane jtpTabela = new JTabbedPane();

        while (cont <= qtd) {
            referencia += cont;

            JPanel painel = new JPanel();
            painel.setLayout(new java.awt.BorderLayout());

            JScrollPane jspTabela = new JScrollPane();
            JTable tabela = new JTable();

            jspTabela.setViewportView(tabela);
            painel.add(jspTabela, BorderLayout.CENTER);
            jtpTabela.add(referencia, painel);
            cont++;
            referencia = "Tabela";
        }
    }

Aguardo sugestões.

2 Respostas

visola

Você precisa acessar a variável JTable em algum lugar. Para isso precisa colocá-la ou como uma propriedade da classe ou dentro de um List ou Array. Por exemplo, se for colocar numa lista, poderia fazer algo como:

// na linha 14
tabelas.add(tabela);
// continua código aqui

Aonde tabelas foi declarada no começo da sua classe como uma propriedade dela:

private List&lt;JTable&gt; tabelas = new ArrayList&lt;JTable&gt;();

Para acessar os dados de cada tabela na lista, pode usar um for ou acessar direto pelo índice se você souber:

// Num for avançado
for (JTable tabela : tabelas) {
   TableModel modeloTabela = tabela.getModel(); //o modelo contém os dados da tabela
}

// Num for com índice
for (int i = 0; i &lt; tabelas.size(); i++) {
   TableModel modeloTabela = tabelas.get(i).getModel();
}

// Ou direto pelo índice
TableModel modeloTabela = tabelas.get(umIndice).getModel();
carlinhoscomp

Ok, problema resolvido!

A idéia do VISOLA funcionou perfeitamente!

Valeu, Obrigado!

Criado 23 de fevereiro de 2011
Ultima resposta 24 de fev. de 2011
Respostas 2
Participantes 2