سؤال

تم تطوير لعبة لفترة من الوقت، وعمل حاليا واجهة المستخدم الرسومية، أو على الأقل تحاول. كانت المشكلة الهائلة لعدم القدرة على تغيير حجم الإطار (بدون مشاكل)، كما لم أفهم مديري التخطيط جيدا. عدد قليل من المشاريع في وقت لاحق، والوقت للعودة والقيام ببعضها أكثر في اللعبة، وضربت مشكلة ...

التصميم الأساسي للإطار الرئيسي هو، Mainpane، الذي يحتوي على ألعاب واحدة وواحدة تحكم واحدة. جزء SCROLL هو جزء التمرير، ولوحة التحكم لوحة عادية. يحتوي جزء التمرير على لوحة اللعبة الرئيسية.

كما أردت أن يشغل جزء التمرير معظم الشاشة، مع تولي لوحة التحكم منطقة صغيرة صغيرة، مماثلة مثل العديد من الألعاب مثل SIM، لذا اختار تخطيط الحدود للأبد. أضفت جزء التمرير وقم بتعيين مركز القيود ولوحة التحكم المضافة والانضمام إلى الجنوب. هذا لم يظهر جزء التمرير، لذلك لعبت حول محاولة قيود مختلفة، ويبدو أنه فقط عندما أقوم بتعيين قيود جزء التمرير على الشمال، هل يعرض على الإطلاق.

لإظهار هذا، لقد أنشأت فيديو سريع ...http://screenjel.ly/q5rjccwzjh8.

كما ترون، عندما أقوم بتغيير قيمة الشمال إلى الوسط وإعادة تشغيل، فهو مثل ليس هناك!

نقاط المكافأة لأي شخص يمكن أن يرى مشكلة ثانية واضحة قد أبدأ سؤال آخر بعد حل هذه المشكلة!

أشكركم على وقتك لقراءة هذا.

شكرا مقدما على أي أفكار أو أفكار :)

أمر

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

المحلول

لا أستطيع الحصول على الفيديو لإظهاره. لقد كان التخزين المؤقت للأعمار.

سيكون تخميني أن Scrollpane في الواقع ملء المركز؛ إنها مجرد لوحة اللعبة التي لا تظهر لها.

يحتاج لوحة اللعبة إلى إرجاع قيم معقولة getPreferredSize().

تحديث

شيء آخر قد ترغب في القيام به هو أن تنفذ لوحة اللعبة الخاصة بك Scrollable واجهه المستخدم. يمكنك بعد ذلك تجاوز getScrollableTracksViewportWidth و ...height لكي ترجع true لذلك سيتم إجبار لوحةك على أبعاد Scrollpane.

نصائح أخرى

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

الأشياء SETCONTENTPANE () غريبة، خاصة بعد القيام بأشياء إليها والتي ستتحلق بعد ذلك. ومع ذلك، هذه ليست مشكلتك.

المشكلة هي أن تقوم بإضافة UnverseMaker و PersonMover الحق في Mainpane دون أي قيود. ستكون هذه بعد ذلك تفجير أي شيء قمت بتعيينه للوسط ... في هذه الحالة، قامت GamesCrollPane التي سبق تعيينها مسبقا.

لهذا السبب تراه شمالا وليس للمركز.

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