niente che il caro vecchio google non possa dirti

1. setSize vs setPreferredSize
e anche setSize vs SetPreferredSize

2. doLayout()

2/3. google result

paintComponent, a meno di disegnare a mano i componenti, non lo chiami