Newsgroup: it.comp.java
Titolo: GridBagLayout non mantiene la parola!

Ciao a tutti e grazie in anticipo a chiunque avrà
voglia/tempo per rispondermi.
Premetto che java lo conosco pochino, o comunque tanto
quanto sono in grado di spiegarlo i miei profe di fondamenti
di informatica c (inge elettronica).
Detto questo il problema è molto semplice ma è quasi una
settimana che non riesco a risolverlo...
Devo fare una applet semplicissima che gestisca eventi
mousePressed fattta in questo modo : sulla sinistra ho un
quadrato che si colora diversamente ognivolta che clicco
sulla parte dx dove ci sono otto canvas colorati che
rispondono associati ad un listener.
Per la parte deglii eventi no problo, anzi, no problo
neanche con il layout se non cerco di ridimensionare la
applet. Ma quando muovo i bordi il layout (GridBag) va a
farsi fottere, nel senso che restringe quasi a farlo sparire
il panel che si colora per far spazio al panel con i canvas.
Penserete (come ho pensato io...) che non son buono di usare
il layout, così ho provato semplicemente a sostituire ai
miei panel due Button senza cambiare i settaggi dei
constraints e con questi magicamente funziona tutto!!!
La domanda è : sbaglio io? oppure se è il layoutmanager che
fa schifo come posso fare a posizionare 2 panel all'interno
dell'applet uno affiancato all'altro con dimensioni relative
1:4 ??? Boh!
Grazie a tutti per l'aiuto (sperando che il suddetto aiuto
arrivi prima dell'appello di info! :-P )
-- 
"One of these days
i'm going to cut you
into little pieces"
Alieno666    ICQ 18654543

constraints e con questi magicamente funziona tutto!!!
Sto giocando anch'io in questi giorni con la GridBagLayout... che
spesso non si comporta come ci si potrebbe aspettare.
Credo che il problema stia qui:
"How a GridBagLayout object places a set of components depends on the 
GridBagConstraints object associated with each component, and on the 
minimum size and the preferred size of the components' containers."
Il fatto che con i bottoni le cose funzionino mi fa pensare che la
loro MinimumSize sia identica alla loro PreferredSize: cosě, quando i
bordi della applet si muovono e GridBagLayout chiede ai componenti
qual č la loro MinimumSize per modificarne le dimensioni, i bottoni
sono "salvati" dal fatto di averla identica alla loro PreferredSize.
Ho controllato stamattina. Prova ad usare un JTextPane al posto dei
bottoni: in teoria si dovrebbe restringere.
Ad esempio, io avevo una applet in cui c'era un pannello con un
JTextPane a sx, e un JEditorPane a dx. Appena immettevo testo HTML nel
JEditorPane, il pannello con il JTextPane (e il JTextPane stesso) si
riduceva inspiegabilmente.
Ho settato la MinimumSize del pannello uguale alla sua PreferredSize,
e non ho piů questo problema.
Spero che questo possa aituare... Dai comunque un'occhiata anche a
comp.lang.java.gui, dove questo tipo di cose viene trattato in modo
piuttosto approfondito.
Ciao,
Giulio.

piuttosto approfondito.
Wow, buono a sapersi. Grazie ancora
Ciao
-- 
Alie...@libero.it
   ICQ 18654543
Sto leggendo : Greg Egan "Permutation City"
Sto ascoltando : Lenny Kravitz "Lenny"

jdk 1.2 ...  sigh
Proprio adesso mi sono addentrato nelle api per cercare come
fare a modificare i campi che mi dicevi (Minimum/preferred
size), solo che nella classe Component ci sono solo metodi
get e nei Fields non li vedo... già che sei lì non è che mi
dici anche come si fa a settarli?!?
Scusa l'insistenza ma sono proprio in un mare di sterco...
-- 
I'm calm like a bomb!
RATM
Alieno666  ICQ 18654543


wrote:

Usi AWT? Ah...
Allora mi spiace: "Swing components (but not AWT components) allow you
to specify their minimum, preferred and maximum sizes".
Non saprei come fare... generalmente uso Swing sia per programmi
stand-alone sia per le applet. Quando scrivevo "pannello" intendevo un
JPanel, non un semplice Panel.
Prova a chiedere su comp.lang.java.gui, magari lì qualcuno ne sa di
più (io sono appena all'inizio).
Ciao,
Giulio.