Rumah > Java > javaTutorial > setSize() vs. setPreferredSize(): Bilakah Saya Harus Menggunakan Kaedah Mana di Java?

setSize() vs. setPreferredSize(): Bilakah Saya Harus Menggunakan Kaedah Mana di Java?

Patricia Arquette
Lepaskan: 2024-12-02 04:53:17
asal
853 orang telah melayarinya

setSize() vs. setPreferredSize(): When Should I Use Which Method in Java?

Memahami Perbezaan antara setSize() dan setPreferredSize()

Apabila berurusan dengan saiz komponen dalam Java, pembangun sering menghadapi dua kaedah: setSize() dan setPreferredSize() . Walaupun kedua-dua kaedah mempunyai nama yang serupa, tingkah laku dan penggunaannya berbeza dengan ketara.

setSize() vs. setPreferredSize():

Perbezaan utama terletak pada kehadiran pengurus reka letak untuk induk komponen bekas.

  • setSize(): Kaedah ini mengatasi saiz komponen secara langsung, tanpa mengira mana-mana pengurus susun atur induk. Ia biasanya digunakan apabila bekas induk tidak mempunyai pengurus reka letak atau apabila anda secara eksplisit ingin menetapkan saiz tertentu untuk komponen.
  • setPreferredSize(): Kaedah ini mencadangkan saiz pilihan untuk komponen tersebut. Pengurus reka letak induk menggunakan maklumat ini untuk menentukan saiz komponen dalam strategi reka letaknya. Ia digunakan apabila pengurus reka letak hadir dan bertanggungjawab untuk meletakkan dan mensaiz komponen.

Garis Panduan Penggunaan:

JFrames dan JPanels:

  • JFrames (tingkap peringkat atas): Gunakan setSize() kerana JFrames tidak mempunyai pengurus susun atur secara lalai.
  • JPanels (dengan pengurus susun atur): Gunakan setPreferredSize() kerana pengurus susun atur akan menentukan saiz panel berdasarkannya saiz pilihan.

Komponen dalam Susun Atur Pengurus:

  • Jika induk komponen mempunyai pengurus reka letak: Gunakan setPreferredSize().
  • Jika induk komponen tidak mempunyai pengurus susun atur (atau anda mahukan kawalan yang tepat melebihi saiz): Gunakan setSize().

Contoh:

// JFrame (no layout manager)
JFrame frame = new JFrame();
frame.setSize(500, 300); // Use setSize()

// JPanel (with FlowLayout manager)
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(100, 50)); // Use setPreferredSize()
frame.add(panel);
Salin selepas log masuk

Dalam contoh ini, setSize() digunakan untuk JFrame kerana ia tidak mempunyai pengurus susun atur, manakala setPreferredSize() digunakan untuk JPanel kerana ia berada di dalam pengurus FlowLayout.

Atas ialah kandungan terperinci setSize() vs. setPreferredSize(): Bilakah Saya Harus Menggunakan Kaedah Mana di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan