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

طريقتي في تصميم L&F

مغلق
بدأه رامي العيساوي في 25 يناير 2004 · 7 رد · 3,144 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

ان 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 متشابهة فلماذا تكتب واحد جديد و هو موجود جاهز فقط عدل فيه و توفر الجهد و الوقت و من اجل اسماء الملفات تستطيع تغيرها و لكن يجب ان تعدل الملف (ب) باسماء الملفات الجديدة.

اي سؤال حول الدرس انا جاهز

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

#2

السلام عليكم ورحمة الله وبركاته

لوسمحت يا أخ رامي ممكن طلب مساعده

حاولت بصراحه ارسل لك مسج على الايميل او بالبرايفت بس ما قرت ولا حتى انزل موضوع ما قدرت غير هنا اكتب لك وانشاء اله تشوفه وترد علي بأسرع وقت ممكن

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

Edit اي ما يحوية من برمجة اكواد ال

Cut

Paste

Copy

Select all

كل هذه بعد اذنك اذا كانت متوفرة او يمكن ايجادها

بعد اذنك ارسله لي والهم انها تعمل على جرافيكس

شكرا لتعاونك

#3

هل يمشي الحال اذا اعطيتك برنامج مفكرة فيه هذه الاشياء

بعدين انا لا اهمل اي موضوع و لا اي رسالة تاتي الى بريدي الالكتروني

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

#4

اهلين

انا ما قلت انك ما رديت اقول نفس المنتدى ما رضى لي ارسل لك يقول اني مو مسجله وآآآسفه على اسلوبي اذا غلط

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

جزيت خيرا

#5

انا رح اعطيك كود مفكرة

فيه هذه الادوات و انتي عدلي فيهم على كيفيك مشان برنامج الرسومي

ماشي

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

#6

ثواني طيعت الملف ما اعرف و ين صار

بكره ان شاء الله

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

#7

مشكووور الله يعطيك العافية

وانا بإنتظار الملف وإن شاء الله يكون واضح

#8

مشكووور الله يعطيك العافية

وانا بإنتظار الملف وإن شاء الله يكون واضح

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

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