Buenas:
El método debería ser windowClosing(...) con minúscula, si lo pones con W mayúscula es otro método y no se invocará. Para evitar este tipo de equívocos es bueno poner @Override, así si te equivocas al escribir y no pones exactamente el método padre, te saltará el error en compilado.
En cuanto al primero que no reconoce this.dir_ip, ten en cuenta que en ese punto estás dentro de una clase anónima que hereda de WindowAdapter, no en tu clase Cliente, por lo que "this" referencia al WindowAdapter y no a Cliente. Una forma de evitar esto es como lo has hecho, llamando a un método desconectar(). Pero hay otra forma que consiste en ponerlo así
Código java:
Ver original Cliente.this.dip_ip=""; // Aquí es donde me da error pq no reconoce dip_ip
}
}
Es poner Cliente.this.dir_ip. Esto funciona por ser esto una clase anónima definida dentro de Cliente.
Se bueno.