سؤال

أنا خلق واجهة المستخدم الرسومية في جافا باستخدام GridBagLayout. وبعد هل هناك أي طريقة بالنسبة لي لإنشاء مجموعة مكونات حتى أتمكن من نقل الإشارة إلى المجموعة والوصول إلى جميعها؟

لقد فكرت في إنشاء لوحة وتجميع المكونات بهذه الطريقة، لكنني كنت أتساءل عما إذا كانت هناك طريقة أخرى تستفيد من تعقيد GridBagLayout.

شكرا جزيلا!

هل كانت مفيدة؟

المحلول

حسنا، إذا لم تتمكن من إنشاء حبة مع Jlabel و Jtextfield و JButton لاحتواء مجموعتكم، يمكنك دائما استخدام الخريطة في لوحة UI الرئيسية لتسجيل العناصر أثناء إضافتها. بعض هيكل مثل

Map<K, List<Component>>

قد تعمل، حيث K هو معرف لمجموعة. بهذه الطريقة تنفصل عن المكونات من الطريقة التي يتم بها وضعها في واجهة المستخدم.

نصائح أخرى

يجب أن تفكر في الألواح كما الكتابة فقط. لقد ظهرت مكوناتك على هناك، وكلها تم إعدادها ومع قيود التخطيط الصحيحة. أنت (تقريبا) لا تذهب وابحث عن المكونات.

بدلا من ذلك، أضف المكونات إلى Set (أو ما شابه ذلك) كما قمت بإعداد. ثم يمكنك القيام بوسة نظيفة جدا for حلقة على المجموعة لأداء المهمة المناسبة. ستكون تقنية أكثر تقدما هي أن يكون لديك مراقبين فرديين (مستمعون) منعش المكونات من نموذج.

الطريقة المعتادة هي استخدام JPanel كما اقترحت. تذكر أن JPanel نفسها قد يكون لها مدير تخطيط مستقل خاص به. لذلك يمكنك استخدام Gridbaglayout على JPanel لوضع العناصر الموجودة على اللوحة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top