بسم الله الرحمن الرحيم
مقدمة:
ان 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
فقط لكي تعود امتنا العربية الى امجادها و نتفوق بين الامم بالعلم و المعرفة و هو سلاحنا لمواجهة اعداءنا