fbcyborg
13-03-2010, 11:31
Salve a tutti,
non riesco a capire come risolvere il seguente problema.
Ho un JPanel che ha come layout il GridLayout, semplicemente impostato con una colonna ed n righe.
Il fatto è che se il numero delle righe scende al di sotto di un certo numero queste tendono ad occupare sempre più spazio possibile.
Capisco bene che è un comportamento normale ma vorrei evitarlo.
Faccio un esempio.
Se ho un JPanel (in un JScrollPane) 819x615, ed un altro JPanel alto 44 e largo quanto è largo il JPanel contenitore, se imposto un numero di righe per il GridLayout uguale a 20 (ad esempio) e aggiungo al JPanel 20 pannelli alti 44, ognuno di questi pannelli ha la sua altezza originaria (44), ma se scendo sotto una certa soglia questa altezza aumenta. Ad esempio se ne metto solo 2, questi tenderanno a occupare metà spazio per il primo e metà per il secondo.
Come posso fare per fare in modo che ciò non accada?
Ho provato con un sacco di metodi, ad esempio anche a ridimensionare il JPanel contenitore in base a quante righe ci sono moltiplicato per 44, ma non funziona.
EDIT:
Per il momento ho trovato un "trucco". Ho messo 2 pannelli in un JContentPane. Uno a nord e uno al centro. Quello a nord lo uso per metterci i pannellini alti 44, con gridLayout. Quello al centro lo lascio vuoto, per far sì che si espanda fino ad occupare tutto lo spazio possibile. Così ottengo l'effetto desiderato.
non riesco a capire come risolvere il seguente problema.
Ho un JPanel che ha come layout il GridLayout, semplicemente impostato con una colonna ed n righe.
Il fatto è che se il numero delle righe scende al di sotto di un certo numero queste tendono ad occupare sempre più spazio possibile.
Capisco bene che è un comportamento normale ma vorrei evitarlo.
Faccio un esempio.
Se ho un JPanel (in un JScrollPane) 819x615, ed un altro JPanel alto 44 e largo quanto è largo il JPanel contenitore, se imposto un numero di righe per il GridLayout uguale a 20 (ad esempio) e aggiungo al JPanel 20 pannelli alti 44, ognuno di questi pannelli ha la sua altezza originaria (44), ma se scendo sotto una certa soglia questa altezza aumenta. Ad esempio se ne metto solo 2, questi tenderanno a occupare metà spazio per il primo e metà per il secondo.
Come posso fare per fare in modo che ciò non accada?
Ho provato con un sacco di metodi, ad esempio anche a ridimensionare il JPanel contenitore in base a quante righe ci sono moltiplicato per 44, ma non funziona.
EDIT:
Per il momento ho trovato un "trucco". Ho messo 2 pannelli in un JContentPane. Uno a nord e uno al centro. Quello a nord lo uso per metterci i pannellini alti 44, con gridLayout. Quello al centro lo lascio vuoto, per far sì che si espanda fino ad occupare tutto lo spazio possibile. Così ottengo l'effetto desiderato.