Penggunaannya bergantung pada apakah induk komponen memiliki pengelola tata letak atau tidak.
setSize()
- digunakan jika pengelola tata letak induk tidak ada;
setPreferredSize()
(juga yang terkait setMinimumSize
dan setMaximumSize
) - gunakan jika ada pengelola tata letak induk.
The setSize()
Metode mungkin tidak akan melakukan apa-apa jika orang tua komponen menggunakan manajer layout; tempat ini biasanya akan memiliki efek akan pada komponen tingkat atas ( JFrame
s dan JWindow
s) dan hal-hal yang di dalam panel menggulir. Anda juga harus memanggil setSize()
jika Anda memiliki komponen di dalam induk tanpa pengelola tata letak.
Umumnya, setPreferredSize()
akan menata komponen seperti yang diharapkan jika ada pengelola tata letak; sebagian besar pengelola tata letak bekerja dengan mendapatkan ukuran yang diinginkan (serta minimum dan maksimum) komponennya, kemudian menggunakan setSize()
dan setLocation()
memposisikan komponen tersebut sesuai dengan aturan tata letak.
Misalnya, a BorderLayout
mencoba untuk membuat batas wilayah "utara" sama dengan ukuran yang diinginkan dari komponen utaranya --- mereka mungkin berakhir lebih besar atau lebih kecil dari itu, tergantung pada ukuran JFrame
, ukuran komponen lainnya dalam tata letak, dan sebagainya.