JFileChooser - Porque tão lento?

Pessoas,

Estou utilizando o componente JFileChooser em uma aplicação, e para carregar a primeira vez, demora muito!!!. Para testar separado apenas o JFileChooser, fiz o pequeno teste abaixo, e verifiquei que o sistema demora cerca de 14 segundos para instanciar um JFileChooser. Alguém sabe o porque dessa demora?? No diretório inicial, não contém mais que 20 arquivos…Voês poderiam executar o programa abaixo e postarem seus resultados??

public class TesteJFrame extends JFrame {
	long t1;
	long t2;
	long t3;
	long t4;
	long t5;
	private JButton b = new JButton("ABRIR");
	private JFileChooser fileChooser;

	public TesteJFrame() {
		t1 = System.currentTimeMillis();
		getContentPane().setLayout(new FlowLayout());
		t2 = System.currentTimeMillis();
		this.add(b);
		t3 = System.currentTimeMillis();
		fileChooser = new JFileChooser(new File("."));
		t4 = System.currentTimeMillis();
		b.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				fileChooser.showOpenDialog(null);
			}
		});
		t5 = System.currentTimeMillis();
		System.out.println("Primeira parcial: " + (t2 - t1));
		System.out.println("Segunda parcial: " + (t3 - t2));
		System.out.println("Terceira parcial: " + (t4 - t3));
		System.out.println("Quarta parcial: " + (t5 - t4));
	}

	public static void main(String args[]) {
		TesteJFrame frame = new TesteJFrame();
		frame.setLocation(400, 400);
		frame.pack();
		frame.setVisible(true);
	}
}

output:

Primeira parcial: 0
Segunda parcial: 0
Terceira parcial: 14234
Quarta parcial: 0

Tive o mesmo problema tente o usar o “nativo” FileDialog, infelizmente não é possível neste componente por os “filtros” no combobox, mas é nativo e roda muito mais rápido.

Meu teste

[quote]Primeira parcial: 0
Segunda parcial: 0
Terceira parcial: 386
Quarta parcial: 1[/quote]
Mas aqui é Linux, se aí for Windows tá explicada demora, é assim mesmo.

http://bugs.sun.com/view_bug.do?bug_id=6578753

[quote] Submitted On 13-AUG-2008

I’m the last commenter (Submitted On 29-JUL-2008). It seems that it is fixed in 6u10. At least, file browsing is as fast as in 1.4.x. Well done.

[/quote]

Tenho o 6u10 e continuo lerdo, por isso usei FileDialog.

A pergunta pode parecer idiota, mas o seu 6u10 é posterior ao u4?

O update 10 não é uma versão oficial ainda, e está se arrastando no site da sun há muuito tempo.
Depois que eu atualizei para o último update do java aqui a lentidão desapareceu.

Meu teste com a JDK 1.5.0_12 ficou:

[quote]Primeira parcial: 0
Segunda parcial: 0
Terceira parcial: 516
Quarta parcial: 0[/quote]

Agora com a JDK 1.6.0_05 rodei 4 vezes:

[quote][list]Primeira parcial: 0
Segunda parcial: 0
Terceira parcial: 4766
Quarta parcial: 15[/list][list]Primeira parcial: 0
Segunda parcial: 0
Terceira parcial: 1797
Quarta parcial: 0[/list][list]Primeira parcial: 0
Segunda parcial: 0
Terceira parcial: 1781
Quarta parcial: 0[/list][list]Primeira parcial: 0
Segunda parcial: 0
Terceira parcial: 1781
Quarta parcial: 0[/list][/quote]

Aqui to com um Windows XP Professional 64bits… Processador Intel Core 2 Quad Q6600 (2.4GHz)…

É bug na versão do java… Tenta mudar pra uma versão mais atual ou então utilizar o FileDialog ou então usar a 1.5 :stuck_out_tongue:

Erro meu to com o 6u6

kkkkkkkkkkkkkkkkkkkkk

eu aki com o 6u6 demorando pra caramba e eu achava que fosse “normal”…

eu vo atualiza tb…q burrice

[quote=dbarboza]Meu teste com a JDK 1.5.0_12 ficou:

[quote]Primeira parcial: 0
Segunda parcial: 0
Terceira parcial: 516
Quarta parcial: 0[/quote]

Agora com a JDK 1.6.0_05 rodei 4 vezes:

[quote][list]Primeira parcial: 0
Segunda parcial: 0
Terceira parcial: 4766
Quarta parcial: 15[/list][list]Primeira parcial: 0
Segunda parcial: 0
Terceira parcial: 1797
Quarta parcial: 0[/list][list]Primeira parcial: 0
Segunda parcial: 0
Terceira parcial: 1781
Quarta parcial: 0[/list][list]Primeira parcial: 0
Segunda parcial: 0
Terceira parcial: 1781
Quarta parcial: 0[/list][/quote]

Aqui to com um Windows XP Professional 64bits… Processador Intel Core 2 Quad Q6600 (2.4GHz)…

É bug na versão do java… Tenta mudar pra uma versão mais atual ou então utilizar o FileDialog ou então usar a 1.5 :P[/quote]

pois é…estou com a versão 1.6.0_05-b13…
O pior é que todos aqui no trabalho utilizam essa vm e na maquina deles, não acontece essa demora… :oops:

minha máquina:

Windows XP SP2
Pentium 4 2.8
1 GB RAM

apenas caso seja util para alguem no futuro…

eu tinha instalado o 6 update 10 e o problema aki continua… tava ainda pior…tava demorando horrores…

ai eu instalei o 6 update 10 rc e ta abrindo normal… (me parece meio desfocada as imagens usando swing mais … ao menos os JFileChooser nao estão lerdos…