الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ابسط طريقة لتصميم L&F

مغلق
بدأه رامي العيساوي في 15 يونيو 2003 · 0 رد · 1,688 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1

بسم الله الرحمن الرحيم

مقدمة:

ان L&F يمكن تشبيهه بواجهة للبرنامج يتحدد فيه الالوان و الصفات المشتركة لجميع العناصر و هذا يسهل عليك الكثير من الوقت و الجهد اذا كنت ترغب بتحديد لون مشترك لعناصر برامجك مثل الوان الازرار و القوائم الخ

ويمكنك ايضا ان تضيف شيئ مشترك لجميع الازرار مثلا لنفترض انك تريد من الزر عند مرور الماوس من فوقه ان يتغير لونه و لون النص الخاص به و عند ذهاب الماوس يعود لونه الى طبيعته بالطريقة العادية و بدون L&F تضيف للزر متنصت احداث عند مرور الماوس غير الالوان كذا و كذا و متنصت احداث آخر عند ذهاب الماوس غير الالون الى كذا و كذا مرة اخرى ...وهذا فقط بالنسبة لزر واحد فقط فكيف لبرنامج ملئ بالازرار و كل زر متنصت احداث خاص به . ( هذه الطريقة تسبب صداع شديد عند تنفيذها على عشرة ازرار فقط و هذا ما حصل معي قبل L&F )

==================================================

والآن لحل هذه المشكلة و الكثير من غيرها اقدم لكم الطريقة الاسهل و الاسرع لتصميم L&F :

1- تنسخ جميع ملفات المصدر الموجودة ضمن المجلد srcjavaxswingplafmetal

2- تدخل الى كل ملف و تغير اسم الحزمة الى اسم الذي ترغب به و مثلا javaman و من ثم تضعهم بعد التعديل في مجلد له نفس اسم الحزمة javaman

3- و الآن سوف احدد لكم اهم الملفات التي سوف نعمل بها وهي

DefaultMetalTheme.java و لنسمه (ِأ)

MetalLookAndFeel.javaو لنسمه (ِب)

MetalTheme.javaو لنسمه (ج)

MetalButtonUI.javaو لنسمه (د)

في الملف (ِأ)سوف تجد الالوان التالية primary1 primary2 primary3 secondary1 secondary2 secondary3 و هي الالوان الاساسية غيرها على مزاجك و يوجد بعض الخطوط ايضا واظن انها ليست ضرورية لذا اتركها كما هي .

في الملف (ب) غيرالطرق التالية حسب معلوماتك getName() getID()getDescription()

و غير هذا حسب اسم الحزمة لديك من

String metalPackageName = "javax.swing.plaf.metal.";

الى

String metalPackageName = "javaman.";

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

وفي الملف (د)قم بالتعديل في الصف MetalButtonListener و اضيف متنصتي الاحداث كم احببت فهي سوف تنفذ على جميع الازرار

على فكرة هناك طرق أخرى لتصميم L&F وهي كتابته بنفسك و لكنها طويلة جدا و تقريبا جميع طرق الL&F متشابهة فلماذا تكتب واحد جديد و هو موجود جاهز فقط عدل فيه و توفر الجهد و الوقت و من اجل اسماء الملفات تستطيع تغيرها و لكن يجب ان تعدل الملف (ب) باسماء الملفات الجديدة.

===================================================

اخزاني الاعزاء يرجى منكم ان تعيدو قراءة الدرسة اكثرمن مرة و بتمعن و مع تنفيذ الخطوات خطوة بخطوة و اذا لم تفعلوا ذلك فسوف تجدون الدرس معقد و غير مفهوم ..... باب الاسئلة و النقاش مفتوح في المنتدى على الرابط:

http://www.arabteam2000.com/vb/showthread....&threadid=29470

فقط لكي تعود امتنا العربية الى امجادها و نتفوق بين الامم بالعلم و المعرفة و هو سلاحنا لمواجهة اعداءنا

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

هذا الموضوع مغلق.

مواضيع مشابهة