Tieni però presente che il BoxLayout funziona così: viene usato il "maximum" solo se c'è spazio disponibile ... se non c'è spazio disponibile, il minimo è dato dal "preferred".Originariamente inviato da Azzurra85
Ho risolto impostando oltre a maxSize.width anche maxSize.heigth e poi chiamando p.setMaximumSize(maxSize).
Grazie ancora!!!
Se vuoi capire meglio, metti nel mio sorgente prima del return:
Lancia e vedrai che i pannelli sono dimensionati al massimo in orizzontale e a 80 (maximum height) in verticale. Ora ridimensiona solo verticalmente la finestra, vedrai che non compare subito la scrollbar verticale!!! I pannelli si restringono in verticale. Quando l'altezza dei pannelli arriva al preferred height, allora se restringi ancora di più in verticale compare la scrollbar verticale.codice:Dimension prefSize = p.getPreferredSize(); prefSize.height = 40; p.setPreferredSize(prefSize); Dimension maxSize = p.getMaximumSize(); maxSize.width = Integer.MAX_VALUE; maxSize.height = 80; p.setMaximumSize(maxSize);
Più chiaro ora?