LEYER De nuevo muchas gracias funciono el codigo que pusiste y lo pude implementar en el Servidor. Ahora quiero poner un boton que diga cancelar pero solo en la parte del Cliente.
Creo un boton y lo inserto en el JDialog y le agrego un evento, pero no se con que instruccion detener el proceso de copia ????¿¿¿¿
Pues haz que la condición del for o el while que uses para transferencia se cumpla o incumpla (dependiendo) y asi lo paras?
Saludos
Tienes que tener en cuenta como lo esta haciendo, Fíjate que si implementa una acción del button, no podrá crear una variable booleana dentro del actionPerformed ya que le pedirá que esa variable sea inmutable (Final)
La solución en ese caso seria, que organices mas el código, ya que como lo tienes sera engorroso implementar la acción de cancelar.
Fijate que puedes hacer esto:
private static final long serialVersionUID = 1L;
@Override
cancel = true;
}
};
button.setAction(action);
Pero en tu caso, tendrías que colocar la variable booleana cancel como variable de clase, osea con el modificador
static para poder acceder a modificar esa variable.
Y así poder hacer la verificación si se cancelo la tranferencia.
Example: while ((in = bis.read(byteArray)) != -1){
if(Cliente.cancel){
System.
err.
println("Tranferencia cancelada."); dialog.dispose();
bis.close();
bos.close();
break;
}
//.....................
//etc
}
Pero mi recomendación final es que organices tu codigo.
Un saludo.