Originariamente inviato da jurij7
Quindi dovrei inserire

JFrame1 frame[] = Frame.getFrames();

Nel codice che ti ho fatto vedere sopra?

P.S. Comunque i JFrame aperti dovrei chiderli tutti quindi non c'è il problema si selezionare quali tenere aperti o meno.
Forse non mi sono spiegato. La documentazione di getFrames() dice:

Warning: this method may return system created frames, such as a shared, hidden frame which is used by Swing. Applications should not assume the existence of these frames, nor should an application assume anything about these frames such as component positions, LayoutManagers or serialization.
Quindi in ogni caso è bene "filtrare" i frame ottenuti e chiudere solo quelli che sono realmente della tua classe.

Se hai fatto una tua classe:

class FrameEsterno extends JFrame { ....

Allora semplicemente farai:

codice:
Frame[] frames = Frame.getFrames();

for (int i = 0; i < frames.length; i++)
{
    if (frames[i] instanceof FrameEsterno)     // è proprio un frame della tua classe??
        frames[i].dispose();
}

Originariamente inviato da jurij7
Per quanto riguarda la seconda questio ho aggiunto un evento alla JTextArea quindi ora ho:

private void jTextArea4MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
}

Ma non so cosa scrivere per fare quello che desidero
Mi sembrava di averlo spiegato .....
Ricapitoliamo: quando fai doppio click su una parte del testo nella JTextArea (es. una parola), essa viene già selezionata prima che venga invocato il mouseClicked.
Puoi sapere tutto della "selezione", offset iniziale/finale (getSelectionStart() e getSelectionEnd()), testo selezionato (getSelectedText()) e puoi anche rimpiazzare la selezione (replaceSelection())
A quel punto, con la selezione, ci fai quello che vuoi. Potresti rimpiazzare la selezione con un certo testo che decidi tu, potresti usare un JOptionPane per chiedere all'utente cosa rimpiazzare ... insomma fai quello che ti pare con questa selezione.