Newsgroup: it.comp.java
Titolo: applicazione multi finestra

Salve a tutti!
E' una settimana che sto impazzendo dientro ad un'applicazione che sto 
cercando di sviluppare...
Come da oggetto si tratta di un applicazione a più finestre che devono 
comunicare tra di loro.
C'è qualche anima pia che mi può indicare la soluzione?
Ho provato in tanti modi, ma nessuno funzionava...ho creato addirittura 
componenti statici per fare in modo che fossero visibili anche dalle 
altre classi/finestre, ma avevo problemi di moltiplicazione degli 
eventi... sigh!
Ho letto su alcuni post precedenti che la strada giusta consiste nel 
creare un interfaccia il quale dovrebbe essere implementata da tutte le 
finestre "imparentate", e passando la classe padre a quella figlia via 
costruttore...ma in questo modo la figlia deve conoscere a priori il 
genitore! se volessi creare componenti indipendenti???
AIUTO!!!

 C'è qualche anima pia che mi può indicare la soluzione?
 > [...]
Ciao,
non sono le "finestre" che devono dialogare tra loro in un'applicazione, 
è il modello ad oggetti che ci sta sotto che è condiviso. Le finestre 
non sono altro che un'interfaccia tra utente e modello.
Una volta impostata l'applicazione in questo modo vedrai che non avrai 
più alcun bisogno di far parlare tra loro le finestre.
-- 
_ _ _  _  /_
  _ /_//_///_' ___
   / and yet it does move...

 
Ciao!
In primis grazie per la risposta!
Però avrei un'altra cosetta da chiarire...
Ti descrivo brevemente la situazione.
Ho 2 JFrame.
Il primo JFrame ha un campo di testo, dove alla pressione del tasto 
[invio] viene aperto un nuovo frame il quale contiene una JList.
L'utente deve scegliere un elemento dalla JList, la quale risponde 
anch'essa alla pressione del tasto [invio].
E quà scatta l'inghippo.
Io vorrei che alla pressione del tasto [invio] venisse copiato il testo 
selezionato dalla JList nel campo di testo del primo JFrame.
Io purtroppo sono abituato al vecchio Visual Basic dove richiamavi tutto 
da ovunque...



La soluzione piu ovvia sarebbe quella di utilizzare una JDialog
anziche un frame... in modalita modale ti consente di "bloccare"
l'esecuzione del programma (nel senso che le altre finestra non
possono ricevere input finche quella rimane aperta) per ricevere input
o anche per mostrare all'user un messaggio di avviso. 
Puoi quindi definire la seconda finestra come una classe che estende
JDialog.... in questa definisci un metodo getTesto che ti restitisce
il testo selezionato e gestisci gli eventi per la chiusura della
finestea. (ad esempio quando cliccki su ok la finestra di dialogo
verra chiusa... e il paramentro passato alla prima finestra) 
quindi nel tuo caso all'interno del codice del primo frame: 
// crea la finestra di dialog 
MyDialog finestra2= new MyDialog();
// visualizza la finestra di dialog  appena creata
finestra2.setVisible(true):   
// a questo punto la gui viene "bloccata" finche la finestra di dialog
// non viene chiusa 
String risultato = finestra2.getTesto();
in realta dovresti potresti visualizzare la dialog e attendere la
chiusura della stessa con un semplice metodo all'interno della classe
che estende JDialog:
public String showDialog() {
   // visualizza la finestra di dialogo
   setVisible(true);
   // ritorna il valore inserito 
   return testo;
}
in questo caso il codice precedente diventerebbe
// crea la finestra
MyDialog finestra2 = new MyDialog();
// deterimina il valore inserito 
String risultato = finestra2.showDialog();
Ovviamente tutto questo è solo per darti una idea di come procedere...
per maggiori informazioni cerca sul tutoria di swing nel sito della
sun... 
Ciauz