بسم الله الرحمن الرحيم
ان L&F يمكن تشبيهه بواجهة للبرنامج يتحدد فيه الالوان و الصفات المشتركة لجميع العناصر و هذا يسهل عليك الكثير من الوقت و الجهد اذا كنت ترغب بتحديد لون مشترك لعناصر برامجك مثل الوان الازرار و القوائم الخ ويمكنك ايضا ان تضيف شيئ مشترك لجميع الازرار مثلا لنفترض انك تريد من الزر عند مرور الماوس من فوقه ان يتغير لونه و لون النص الخاص به و عند ذهاب الماوس يعود لونه الى طبيعته بالطريقة العادية و بدون L&F تضيف للزر متنصت احداث عند مرور الماوس غير الالوان كذا و كذا و متنصت احداث آخر عند ذهاب الماوس غير الالون الى كذا و كذا مرة اخرى ...وهذا فقط بالنسبة لزر واحد فقط فكيف لبرنامج ملئ بالازرار و كل زر متنصت احداث خاص به .
والآن لحل هذه المشكلة و الكثير من غيرها اقدم لكم الطريقة الاسهل و الاسرع لتصميم L&F :
1- تنسخ جميع ملفات المصدر الموجودة ضمن المجلد src\javax\swing\plaf\metal
2- تدخل الى كل ملف و تغير اسم الحزمة الى اسم الذي ترغب به و مثلا ramy و من ثم تضعهم بعد التعديل في مجلد له نفس اسم الحزمة ramy
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 = "ramy.";
و الآن اطلع في الملف كله و سوف تجد تحديد لالوان وخطوط جميع العناصر و لكن الطرق التي تحدد الالوان موجودة في الملف (ج) و اغلبها من الملف (أ) و يمكنك هنا اما ان تعتمد كليا على الملف (ج) و تتجاهل الملف (أ) و اما تغير في الملف (أ) و من ثم تغير المتبقى في الملف (ج) و لتوضيح الفكرة افتح الملف (ج) و سوف تجد انه ياخذ معظم الالوان من الملف (أ) و يضيف عليها الوان من عنده ليصبح(ج) مخزن الملف (ب) لجميع طرق الالوان في النهاية .
وفي الملف (د)قم بالتعديل في الصف MetalButtonListener و اضيف متنصتي الاحداث كم احببت فهي سوف تنفذ على جميع الازرار
على فكرة هناك طرق أخرى لتصميم L&F وهي كتابته بنفسك و لكنها طويلة جدا و تقريبا جميع طرق الL&F متشابهة فلماذا تكتب واحد جديد و هو موجود جاهز فقط عدل فيه و توفر الجهد و الوقت و من اجل اسماء الملفات تستطيع تغيرها و لكن يجب ان تعدل الملف (ب) باسماء الملفات الجديدة.
اي سؤال حول الدرس انا جاهز