الفرق بين setSize() و setPreferredSize() في Java

الفرق بين  setSize () < / span> و setPreferredSize () < / span> معقد بعض الشيء. في بعض الأحيان نستخدم حجم المجموعة () < / سبان>  وأحيانا  مجموعة الحجم المفضل () < / الامتداد >. في بعض الأحيان يلبي أحدهما احتياجاتنا والآخر لا يلبي ، فما هو ... الفرق الرئيسي بين هاتين الطريقتين؟ أيهما يجب أن نستخدمه ل JFrame و JPanel؟

الجواب هو إذا لم يكن للمكون الخاص بك أحد الوالدين ، فاستخدم setSize() الذي يغير حجم المكون وإلا استخدم  setPreferredSize () < / span >< span style = "عائلة الخط: وراثة ؛" > < / span > وكلتا الطريقتين setMinimumSize() و مجموعة الحد الأقصى () < / سبان>. setPreferredSize () < / span> الحجم المثالي للمكون ، وسيحاول مدير التخطيط ترتيب المساحة المناسبة للمكون الخاص بك.

حجم المجموعة () < / سبان>  لا يفعل شيئا إذا كان المكون الأصل يستخدم مدير تخطيط ، المكان الذي حجم المجموعة () < / سبان>  له تأثير  سيكون في مكونات المستوى الأعلى مثل JFrame و JWindow. تحتاج إلى الاتصال: حجم المجموعة () < / سبان>  إذا كان لديك مكونات داخل الأصل بدون مدير تخطيط.

So,  مجموعة الحجم المفضل () < / span >  عليك أن تفعل الشيء الصحيح إذا كان لديك مدير تخطيط لأن معظمهم يعملون في  استعادة الحجم الأمثل والحد الأدنى والحد الأقصى لمكوناتها. استخدام حجم المجموعة () < / سبان>  و  setLocation لوضع هذه المكونات وفقا لمعلمات التخطيط المختار.

example:

A سيحاول BorderLayout تعيين حدود المنطقة الشمالية مساوية للبعد المحدد في  مجموعة الحجم المفضل () < / span >  من منطقتها الشمالية. قد ينتهي الأمر أكبر من ذلك اعتمادا على حجم JFrame وحجم حجم المكونات الأخرى وفقا للتخطيط.

كما استنتاج:
  • مجموعة الحجم المفضل () < / span >  يحسب الموقع والأبعاد المثلى للمكون إذا كان لديك تخطيط.
  • إذا لم يكن لديك تخطيط، فهذا حجم المجموعة () < / سبان>  التي تستخدم.< / لي >< / ماي>