Appunto è questo che dicevo ... il tutto dipende dalla dimensione del frame perché il panel è nel content pane nella parte che occupa tutto il possibile.Originariamente inviato da giova86
non avevo intenzione di fare setSize perche in questo modo ridimensionando il frame con il mouse le icone si allontanano tra loro
Alt. Se fai pack(), all'inizio le immagini sono per forza tutte attaccate una all'altra (l'unico caso sarebbe se il totale in larghezza fosse inferiore alla larghezza minima di un JFrame .... ma è piccola, comunque, tale larghezza minima).Originariamente inviato da giova86
cosa ke succede anche con pack..
mentre io vorrei che rimanessero tutte attaccate tra loro, senza spazi, anche ingrandendo il frame con il mouse..
Perché pack() dimensiona il componente andando a determinare (e quindi tenendone conto) il "preferred size" dei sub-componenti.
Ma se ridimensioni il frame, così esattamente come hai fatto, è chiaro che le celle nel GridLayout si espandono. Se non è questo che volevi, allora sappi che si possono cambiare le cose ma devi cambiare il layout manager del content pane .. insomma, quello dove inserisci il panel.
Se nel frame non hai altri componenti (solo il panel) fai ad esempio:
c.setLayout (new FlowLayout ());
(dove c è il Container del content pane)
e vedrai che il pannello starà sempre centrato orizzontalmente nel content pane ma il suo contenuto sarà sempre "raggruppato" senza alcun gap indipendentemente dalla dimensione del frame.
Ti è più chiaro ora?