Duvida com JFileChooser

7 respostas
S

Galera, estou fazendo um programa e uso JFileChooser. Porém ele é MUITO lerdo, quando mando abrir o JFileChooser para selecionar o arquivo, ele demora muito tempo para abrir a janela.
Porque isso? Tem como melhorar esse desempenho?

7 Respostas

thegoergen

Lento?? Pra mim não é muito. não fiz nada. talvez a pasta padrão tenha muitos arquivos. Tente mandar um filtro diferente para ele…

S

Pior que nao, ele abre direto no meus documentos, tem 51 arquivos.
Demora em torno de 10 segundo pra abrir a caixa.

thegoergen

Coloca o teu código aí, talvez tu faça algo a mais do qe o necessário…

S
private void bArqActionPerformed(java.awt.event.ActionEvent evt) {                                     
        JFileChooser jfc = new JFileChooser();
        int resultado = jfc.showOpenDialog(this);  
        filename = jfc.getSelectedFile();
        if(filename == null  || filename.getName().equals("") || resultado == JFileChooser.CANCEL_OPTION)
            return;
        else{
            totalArquivos++;
            tamanhoArquivos+=(filename.length()/1024);
            lArq.setText(totalArquivos+" anexo(s). Tamanho: "+tamanhoArquivos+"kb");
            Object arquivo = filename.getName();
            comboArquivos.addItem(arquivo+" - "+filename.length()/1024);
            lista.add(filename);
        }
    }

Vlw cara.

thegoergen

Cara… muito estranho isso. Aqui abriu tranquilaço.

Em 7 segundos ele já tinha aberto e eu selecionei o arquivo e já mostrei uma combobox com ele ( acho que é isso que tu faz )… Tu tem algum eevento de foco na tua tela, ou algo do gênero??

S

Nao, normal.
só um

this.setLocation(((Toolkit.getDefaultToolkit().getScreenSize().width  / 2) - (this.getWidth() / 2)),   
        ((Toolkit.getDefaultToolkit().getScreenSize().height / 2) - (this.getHeight() / 2)));

pra centralizar, tirei ele pra ver se mudava e nada.
como eu passo o design do programa pra estilo windows normal? pq pode tar demorando pra carregar os componentes graficos do java, vai saber.

jingle
try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (Exception e) {
            
        }

mas não sei se é isto que esta fazendo demorar.

Criado 3 de abril de 2008
Ultima resposta 3 de abr. de 2008
Respostas 7
Participantes 3