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:
[code]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";
}
}[/code]
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<JTable> tabelas = new ArrayList<JTable>();
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 < tabelas.size(); i++) {
TableModel modeloTabela = tabelas.get(i).getModel();
}
// Ou direto pelo índice
TableModel modeloTabela = tabelas.get(umIndice).getModel();