For() para mostrar getFrom de um array de Message demora d++

0 respostas
M

O proble eh o seguinte,

eu queria popular uma JTable com os remetentes das mensagens de um servidor pop. O tempo de acesso ao servidor e pegar as mensagens é mínimo. O problema está quando adiciono os valores de getFrom de cada msg na JTable.

Eu tenho um for que percorre um array com as mensagens e add o rementente de cada uma na tabela. o engraçado eh que se eu colocar uma string qualquer tipo “teste” no lugar do getFrom o tempo de add na jtable é mínimo.

O problema não eh com a table pq testei com um simples System.out.println eh demora igual…

O problema está no método getFrom da classe Message, ele consome muito tempo!

o código:

for (int i = 0; i < totalMensagens; i++)

{

Object[] msgInfo = new Object[]

{

i,

false,

msgs[i].getFrom()[0],

msgs[i].getSubject(),

msgs[i].getSentDate()

};

DefaultTableModel model = (DefaultTableModel)tabela.getModel();

model.addRow(msgInfo);

}

com esse código o tempo para 20 mensagens serem adicionadas eh uns 10 seg!!!

se eu usar este outro codigo:

for (int i = 0; i < totalMensagens; i++)

{

Object[] msgInfo = new Object[]

{

i,

false,

“teste”,

“teste”,

“teste”

};

DefaultTableModel model = (DefaultTableModel)tabela.getModel();

model.addRow(msgInfo);

}

o tempo já eh em milisegundo!
O mais óbvio eh que o custo das chamadas dos métodos getFrom, getSubject etc é muito alto…

Alguém tem alguma idéia de como resolver isso??

agradeço desde já!

Criado 7 de julho de 2007
Respostas 0
Participantes 1