Salve a tutti ritorno alla carica con un problema.

Io ho creato due programmi, un client(A) e un server(B), che funzionano in questo modo:
Se io premo un pulsante in A, questo genera un evento che a sua volta genera una stringa che a sua volta viene spedita a B tramite client->server; quando B la riceve, la legge e compie un'azione.

In questa catena non ho nessun problema, funziona tutto a meraviglia.
Eccetto, ovviamente, una cosa.
Io ho un pulsante (che ho chiamato "hide") che se viene premuto dovrebbe rendere invisibile la finestra B.
Non un componente, sia chiaro. Tutta la finestra!
Pensavo che un semplice setVisible(false) in un apposito ascoltatore fosse abbastanza, ma a quano pare no, non funziona :S

Quindi la mia domanda è:
Come posso tramite un pulsante rendere invisbile l'intera finestra(e viceversa)?
O, in alternativa chiuderla ad icona (e viceversa)?

Grazie.

p.s. ripeto il percorso.
A (genera una stringa e la passa a client)->client(riceve la stringa e la "invia" al server->server(riceve la stringa e avvia un metodo di B, che passa la stringa ad un ascoltatore in modo che questo compia un'azione)->risultato grafico su B.