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.
setSize()
atausetBounds()
dapat digunakan saat tidak ada pengelola tata letak yang digunakan.Namun, jika Anda menggunakan pengelola tata letak, Anda dapat memberikan petunjuk kepada pengelola tata letak menggunakan
setXXXSize()
metode sepertisetPreferredSize()
dansetMinimumSize()
lain - lain.Dan pastikan bahwa penampung komponen menggunakan pengelola tata letak yang sesuai dengan ukuran yang diminta. The
FlowLayout
,GridBagLayout
, danSpringLayout
manajer menggunakan ukuran yang diinginkan komponen (dua yang terakhir tergantung pada kendala Anda mengatur), tapiBorderLayout
danGridLayout
biasanya don't.If Anda menentukan petunjuk ukuran baru untuk komponen yang sudah terlihat, Anda perlu memanggil metode validasi ulang pada itu untuk memastikan bahwa hierarki penahanannya ditata kembali. Kemudian aktifkan metode pengecatan ulang.sumber
setSize
akan mengubah ukuran komponen ke ukuran yang ditentukan.setPreferredSize
mengatur ukuran yang diinginkan. Komponen sebenarnya mungkin tidak berukuran ini tergantung pada ukuran wadahnya, atau jika pengguna mengubah ukuran komponen secara manual.sumber
IIRC ...
setSize
mengatur ukuran komponen.setPreferredSize
mengatur ukuran yang diinginkan. Layoutmanager akan mencoba mengatur sebanyak itu ruang untuk komponen Anda.Itu tergantung pada apakah Anda menggunakan pengelola tata letak atau tidak ...
sumber