سؤال

لدي الكثير JLabelس ( والذي يتضمن ImageIconق) في أ JPanel.

وهذا JPanel ليست سوى لوحة على واجهة المستخدم الرسومية.هناك الكثير من اللوحات الأخرى.

أريد وضع تسميات على إحداثيات البكسل الدقيقة على JPanel حاوية.

كيف يمكنني أن أفعل ذلك دون استخدام GroupLayout?

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

المحلول

يرى الاستغناء عن مدير التخطيط (تحديد المواقع المطلق) في دروس جافا.

يتضمن إنشاء حاوية بدون مدير تخطيط الخطوات التالية.

  1. قم بتعيين مدير تخطيط الحاوية إلى قيمة فارغة عن طريق الاتصال setLayout(null).
  2. اتصل ب Component الطبقة setbounds طريقة لكل من أبناء الحاوية.
  3. اتصل ب Component الطبقة repaint طريقة.

نصائح أخرى

أيضاً

  • تعيين مخصص LayoutManager (Container.setLayout) على اللوحة التي تحدد المواضع الدقيقة التي تريدها أو
  • تعيين أ null مدير التخطيط (myPanel.setLayout(null);) وتعيين مواضع المكونات خارجيًا (Component.setBounds).

ونلقي نظرة على MigLayout، والذي يسمح لك أن تفعل المواقع المطلقة، انها ليست جزءا من جدك، <وأ href = "http://www.miglayout.com/" يختلط = "نوفولو noreferrer" عنوان = "HTTP : //www.miglayout.com/ "> ولكن تحميل منفصلة

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

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