proverei:
panel.revalidate();
panel.repaint();
Questo non sarà necessariamente impostare il pannello per la sua dimensione preferita, che è più dipendente da ciò che il gestore di layout decide di utilizzare.
Questo è utile nei casi in cui sono stati aggiunti/rimossi componenti da un pannello che è attualmente visualizzato e visibile.
Aggiornamento: Sulla base dello screenshot, posso dire quanto segue: 1) Prendere in considerazione la possibilità di modificare in modo programmatico la posizione del divisore. 2) Considera di ridimensionare in modo programmato la finestra stessa orizzontalmente poiché sembra un po 'stretto per mostrare entrambi i lati del riquadro diviso. O entrambi. È possibile impostare la posizione di divisione facendo
splitPane.setDividerLocation(newSize);
Tenete a mente che ci sono due metodi di overload per questo, uno prendendo un galleggiante uno prendendo un int. Il float fa una percentuale della dimensione mentre int è la dimensione in pixel. La dimensione è per il pannello di sinistra (o il pannello superiore per quell'orientamento). Considererei possibilmente la modifica della posizione del partitore in base alla larghezza preferita dei pannelli.
Thanks.It'll essere ok se non setSize, setPreferredSize o setMinimumSize. –