Newsgroup: it.comp.java
Titolo: javax.swing.JFrame.getContentPane() VS javax.swing.JFrame.setContentPane(Container blabla)

Ma esattamente qual è la differenza in soldoni spicci, mi sto facendo una 
serie di prove sui due metodi , ma non riesco a cogliere le differenze , il 
che dimostra che è tempo che prenda la mazza in mano e vada ad arare i 
campi. :-)
-- 
Ciao. Fabrizio. ( icq: 241182067 )
< MISTAH KURTZ -- HE DEAD.
                A penny for the Old Guy> 
(T.S. Elliot: the hollow men)

 Ma esattamente qual è la differenza in soldoni spicci,[CUT]
Beh, semplicemente uno è il setter e l'altro il getter... getXyz()
restituisce un oggetto, in questo caso il ContentPane che è stato "settato",
mentre setXyz(Xyz oggetto) è void e "setta" (per l'appunto) il contentPane
del JFrame.

Paolo Beccari wrote:

Certo , ma la differenza come "visualizzazione" qual è ?
Mi dice l'Horstmann che uno (setContentPane(bla bla)) espande ciascun 
componente mentre l'altro gli assegna il suo spazio "standard" .... a me 
non sembra e vorrei capire se è il solito volo pindarico del traduttore 
oppure sono io che proprio non ci sono e non ho capito un ciuffola.



Se guardi la documentazione (
java.sun.com/j2se/1.x.x/docs/api
) vedrai che i
due metodi fanno esattamente quello che ti ho detto io (e che del resto
sapevi benissimo anche tu), come del resto TUTTI i metodi getter e setter.
Riguardo l'interpretazione del traduttore, non riesco a dargli un senso
(anche perché è un pò che non tocco le swing&awt...). Se ho tempo domani dò
un'occhio più approfonditamente alla documentazione per vedere se dice
qualcosa in merito, ma al momento l'unica interpretazione che riesco a
dargli è quella che ti ho scritto :)
E poi non capisco come possa affermare
" setContentPane(bla bla) espande ciascun componente mentre l'altro gli
assegna il suo spazio standard "
in linea di massima dovrebbe dipendere da QUALE contentPane gli ho
assegnato, e credo anche da che LayoutManager sto usando...
Di certo la cosa mi incuriosisce, appena potrò (e se nessuno risponde) darò
uno sguardo più approfondito alla documentazione in merito, tanto per capire
il perché di questa affermazione.
Per ora, ciao ;)

 Per ora, ciao ;)
No lascia perdere ho capito il problema, mi era successo la stessa cosa con 
la spiegazione di clone() (ho fatto due palle ad uno ... ): non so se sia 
l'Horstmann o il traduttore che ha l'abitudine di saltare di palo in 
frasca, cosě quando io pensavo che stesse parlando ancora della differenza 
tra setContentPane(Container blabla) e getContentPane(), lui era ritornato 
a parlare di FlowLayout e BorderLayout: cazzo ci sono stato due ore a 
provare e a leggermi la doc .... 
Mi scuso tantissimo, consideratemi in ginocchio sui ceci che mi frusto col 
cilicio mentre canto una canzone di Claudio Baglioni. :-)
Sono mortificato sul serio di avere aperto un 3d sul nulla piů assoluto: 
scusate ancora.


Ti do una risposta che forse č un po' imprecisa perň riassume la differenza
nell'uso pratico fra i 2 metodi:
quando uso setContentPane(Container xxx) dentro gli passo un oggetto e UNO
SOLO, da mettere dentro al JFrame, come ad esempio posso inserirgli un
JPanel;
quando uso getContentPane() mi restituisce l'intero pannello dei contenuti,
dal quale posso invocare il metodo add(Container xxx) quante volte voglio
per inserire TUTTI i pannelli e vari container che mi interessano; es:
getContentPane().add(pannello1);
getContentPane().add(pannello2);
ecc...
Riassumendo se devi inserire un solo oggetto all'interno del frame allora i
2 metodi sono equivalenti (ricordati per il 2° di invocare il metodo
.add()); altrimenti se gli oggetti da inserire sono molteplici, allora devi
per forza invocare il 2° metodo e ricorda che in questo caso per settare il
layout non ti basta invocare il metodo this.setLayout(...), ma devi
ricorrere a: this.getContentPane.setLayout(...)
Spero di averti chiarito qualche dubbio... Ciao.
"oizirbaF" <fabri.tre...@NOtiscali.it> ha scritto nel messaggio
news:b7hloe$c6q$1...@lacerta.tiscalinet.it...



Don't worry, cose che capitano ;)