Interface trava apos um ftp.connect()

4 respostas
squall926
Ola!!! Ao implementar um Client de FTP, toda vez que pesso pra conectar,
ftp.connect()
a janela trava até que termine a ação de conexão. Como poderia fazer pro JFrame não ficar congelado durante esse processo???
private class ConnectFtp implements ActionListener
    {
    	public void actionPerformed(ActionEvent event)
    	{
    		try
    		{
    			/* Chamando a leitura do arquivo de configuração	*/
    			writer.readerFile(reader);
    			
    			if(reader.getProxy())
    			{
    				textarea_3.append("Proxy ativado:   Host: "+reader.getIP()+"   Porta: "+reader.getPorta()+"\n");
    				System.getProperties().put("socksProxyPort", reader.getPorta());
					System.getProperties().put("socksProxyHost", reader.getIP());
    			}
    			if(url.getText().length() != 0)
    			{
    				ftp.connect(url.getText());
    				textarea_3.append("Tentando conectar-se em: "+url.getText());
    				
    				if(FTPReply.isPositiveCompletion(ftp.getReplyCode()))
    				{
    					textarea_3.append("       ***Conectado.***\n");
    					ftp.login(tflogin.getText(), senha.getText());
    					textarea_3.append("Efetuando login: "+"   Usuario: "+tflogin.getText()+"   Senha: ****** \n");
    			
    					bLogin.setEnabled(false);
    				}
    				else
    				{
    					ftp.disconnect();
    					textarea_3.append("Conexão recusada. \n");
    					
    					System.exit(1);
    				} 
    			}  			
    		}
    		catch(Exception exception)
    		{
    			textarea_3.append("Erro na tentativa de conexão: "+exception.getMessage()+"\n");
    		}
    		finally
    		{
    			ListarDados();
    		}
    		
    	}
    }
Vale dizer que, isso ocorre mesmo deixando somente, ftp.connect(); ou seja as outras instruções não pertencentes a parte de FTP não são as causadoras do meu problema. Isso também ocorre quando faço uma conexão com um banco de dados Acess, então acho que o problema ta no modo como estou usando o java. Desde ja agradeço, Obrigado!!!!!

4 Respostas

squall926

Ola pesoal!!!
Sei que andamos meio ocupados…
Mas vamos lá… alguem me da uma força ai!
Obrigado.

C

Infelizmente tenho o mesmo problema com o WHILE, coisa simples, mas o JFrame trava e não consigo mais verda porcaria nenhum =/
talvez tenha alguma coisa com deixar o frame sempre em primeiro plano ou algo do tipo, pq um simples WHILE e dentro do mesmo tenho um label.setText(“teste”) com intervalos de 1 segundo… eh inacreditavel, ja se faço esse while no console funciona =/
Se alguem disser que o while fica usando o frame a toda hora e assim travando ele eu vou passar a odiar o JAVA, pois outras linguagens como por exemplo DELPHI ou VB, com TIMER eu uso e nao trava, agora o JAVA ta meio dificil…
alguem pode ajudar? obrigado

L

Comigo aconteceu a mesma coisa com o ftp.connect. Fiz um teste executando o ftp.connect fora da interface swing e rodou maravilha.
Fiz ainda mais um teste: rodei no Windows 7 64 e mesmo com a interface a aplicação rodou perfeita. O que posso concluir é que o XP tem algum conflito quanto a isso.

L

FUNCIONOU!!!

Simples: isso é algum conflito do Firewall do Windows. Existem dua soluções:

  1. Desative o Firewall do Windows (não recomendado); OU
  2. Execute o jar fora da IDE.

Executei o jar diretamente e funcionou beleza, mas dentro da IDE continua travando.

Criado 30 de agosto de 2006
Ultima resposta 28 de out. de 2011
Respostas 4
Participantes 3