Foros del Web » Programación para mayores de 30 ;) » Java »

Acciones no se ejecutan una despues de la otra.

Estas en el tema de Acciones no se ejecutan una despues de la otra. en el foro de Java en Foros del Web. Hola!.. soy nuevo por aca... Estoy empezando a programar en java, y estoy haciendo mi programa que lo que hace basicamente es descargar un archivo ...
  #1 (permalink)  
Antiguo 21/11/2012, 09:45
 
Fecha de Ingreso: septiembre-2010
Mensajes: 10
Antigüedad: 13 años, 6 meses
Puntos: 0
Pregunta Acciones no se ejecutan una despues de la otra.

Hola!.. soy nuevo por aca... Estoy empezando a programar en java, y estoy haciendo mi programa que lo que hace basicamente es descargar un archivo de un ftp cuando se hace click en un boton...

El problema es que yo quiero que primero agrege unas lineas a un textarea y luego empiece con la descarga...

Lo que hice (en parte, no esta todo el codigo entero... pero creo que con esto deberia entenderse) es esto:

Código:
textarea.append("\n" + Ftp.obtenerConexion() + "...");
 textarea.append("\nDescargando Archivo " + tipoarch + "...");

 Config configuracion = new Config();

int adm = configuracion.obtenerAdm();

String pathpc = configuracion.obtenerPath();

// Descargar fichero de un servidor FTP

String host = "hhhhh";

String user = "jjjjj";

String pass = "iiii";

String descarga = pathpc + "\\" + tipoarch + "." + adm;

String pathonline = "/public_html/Clientes/archivos/" + tipoarch + "." + adm;

Ftp.downloadFileByFTP(host,user,pass,descarga,pathonline);
Las dos primeras lineas Agregan lineas al textarea, luego se declaran variables y después se llama al método downloadFileByFTP...

el problema es que no lo realiza en ese orden... osea el método para descargar Tarda en ejecutarse y deja el programa "trabado"... y recién cuando se destraba se escriben las lineas, y no antes como yo deseo...

No se supone que se ejecuta en orden? y debería primero escribir el texto y luego trabarse por llamar a downloadFileByFTP ? ?

MUCHAS GRACIAS DE ANTE MANO...

P.D cabe destacar que si saco el downloadFileByFTP todo anda fluido y sin problemas. pero obvio no descarga el archivo jaja.

Última edición por GatorV; 21/11/2012 a las 12:20
  #2 (permalink)  
Antiguo 21/11/2012, 10:49
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: Acciones no se ejecutan una despues de la otra.

Hola,
Prueba a ejecutarlo desde un hilo a parte, verás como sucede como esperas.

Saludos.

P.D. Borra el usuario y la contraseña del FTP del POST. Por seguridad.
  #3 (permalink)  
Antiguo 21/11/2012, 11:26
Avatar de fahs82  
Fecha de Ingreso: abril-2012
Ubicación: guadalajara
Mensajes: 139
Antigüedad: 12 años
Puntos: 12
Respuesta: Acciones no se ejecutan una despues de la otra.

efectivamente , las cosas si se ejecutan en ese orden , lo que no sucede es que se actualize el repintado del textarea hasta que el hilo termina de hacer las acciones te pongo un ejemplo para que puedas solucionar tu problema , a mi me sucedia lo mismo con un jlist

el siguiente codigo lo tengo en un listener de un jbutton

Código:
//declaro la tarea para el hilo
Runnable miRunable = new Runnable(){
            @Override
            public void run() {
            //aqui pongo la accion que tengo declarada como abrir dialogo ,abre
          //jchooser , elige un archivo , realiza varias consultas a una bd y hace la
         // descarga de un csv de varias tablas al tiempo que debe mostrar el  
        //avanze en un jlist 
               Abrir_Dialogo();
            }
};
//aqui instanceo un nuevo hilo y le paso la tarea a realizar 
Thread hilo = new Thread(miRunable);
//inicio el hilo que al momento arranca , dejando el repintado libre y actualizado
hilo.start();
    }
espero te sea de ayuda si tienes alguna duda encontraras mas informacion en internet , existe otro metodo pero ese no lo he manejado , te recomiendo lo busques pues este metodo es algo ya obsoleto pero funcional
  #4 (permalink)  
Antiguo 21/11/2012, 11:39
 
Fecha de Ingreso: septiembre-2010
Mensajes: 10
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Acciones no se ejecutan una despues de la otra.

Gracias! Sigo investigando, voy a probar lo que me dicen..

Etiquetas: orden, traba
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:05.