Ola pessoal, estou dentro de um for que vai preenchendo o modelo da tabela.
Acontece que nada é carregado ate o for acabar e eu nao queria assim, queria que a cada novo conteudo inserido no modelo tambem ja fosse sendo mostrado na tabela.
Nao sei se essa é a maneira correta de fazer, utilizando DefaultTableModel.
Segue o for:
[code]for (int j = 0; j < doc.select(“a”).size(); j++) {
Element link = doc.select(“a”).get(j);
String relHref = link.attr(“href”); // == “/”
if (relHref.contains(txt_Pesquisa.getText())) {
modelo.addRow(new Object[] {"", relHref, “”});
}
}[/code]
Abraços
Eu não sei se entendi direito, o que você precisa é que enquanto ele vai fazendo o loop ja ir adicionando na JTable ?
Se for isso tenta usar o SwingWorker, o SwingWorker permite executar algum método em background, isso é , enquanto sistema vai lendo o loop ele ira adicionar na JTable.
Também você pode utilizar Thread para fazer isso, mas nesta ocasião eu prefiro usar SwingWorker.
eu não sei se porque não tem como eu testar agora, mas você antes de tudo pode tentar dar um repaint() a cada momento que ele adiciar uma linha detro do seu loop.
for (int j = 0; j < doc.select("a").size(); j++) {
Element link = doc.select("a").get(j);
String relHref = link.attr("href"); // == "/"
if (relHref.contains(txt_Pesquisa.getText())) {
modelo.addRow(new Object[] {"", relHref, ""});
//aqui colocaria assim -
nomeDaSuaJTable.repaint();
}
}
Tenta isso e se der certo você nem precisa usar o SwingWorker
T+