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

الحزمة AAniamtion حزمة الحركة الخاصة بـ swing

بدأه علاء الصالحي في 17 فبراير 2011 · 14 رد · 1,157 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

صادف اليوم أن تطلعت فوجدت أني داخل على المشاركة رقم 5000

وهو رقم جميل

فارتأيت أنه فهذه المناسبة يتعين علي أن تكون المشاركة رقم 5000 مشاركة مميزة نوعاًما

في النهاية ارتأيت أن أجعل إصداري الجديد من الحزمة AAniamtion أولاً هنا في المنتدى

قبل مدونتي الخاصة

على كل أحبكم جميعاً وأتمنى من الله أن يجمعنا في جنته أجمعين كما جمعنا هنا

أترككم مع الحزمة لتلقوا نظرة عليها

الحزمة تتكون من فئات رئيسية للمستخدم

أ- ثلاث واجهات متعلقة بالرسم Container و Component و PaintBoard

الحاوية والمكون و لوح الرسم

الحاوية قد لا تحتوي على مكونات وقد تحتوي على أي عدد من المكونات

ويمكن أن تحتوي الحاوية على حاويات أصغر منها تحتوي الحاويات الأصغر على المكونات الخاصة بها

الحاوية لها لوح الرسم الخاص بها

المكون Component يتلخص في أن لديك لوح رسم وعليك أن تملأه بالرسم :)

يمكنك إضافة المكون إلى حاوية ما مرة واحدة

الفرق ما بين المكون ولوح الرسم

المكون هو عبارة عن تغليف للوح رسم مع تحديد المكان الذي تتم فيه عملية الرسم (نقطة بداية الرسم x,y) ولا تحتوي على طول أو عرض خاص بها

بينما لوح الرسم هو عبارة عن رسم مجرد ويحتوي على طول وعرض خاصين به

يمكن استخدام لوح الرسم في أكثر من مكون في نفس الوقت بدون أية إشكالات وبدون أي قيود من أي نوع

بينما استخدام المكون في أكثر من حاوية ممكن ولا إشكال فيه

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

وعلى هذا يمكننا القول أن إضافة المكون على نفس الحاوية أكثر من مرة لا جدوى منه لأنه سيرسم نفس المكون في نفس المكان مرتين

ب- فئتين متعلقتين بالحركة AnimationObject و AnimationEngine

المحرك والكائن المتحرك

المحرك قد لا يحتوي على كائنات متحركة وقد يحتوي على أي عدد من الكائنات المتحركة

الكائن المتحرك هو عبارة عن مكون وحاوية في نفس الوقت

ويمكنه التمتع بكل مزايا المكون والحاوية مع إضافة خاصية الحركة له

المحرك هو المسؤول عن تحريك الكائنات المتحركة (تغيير نقطة البداية الخاصة به)

بمعنى آخر المحرك مسؤول عن تحريك المكونات (الكائنات المتحركة) على الحاوية

لا يمكنك إضافة الكائن المتحرك أكثر من مرة على على نفس المحرك (نتكلم عن المنطقية هنا لأنك لو أضفته فسيحصل تحريك للمكون نفسه مرتين بنفس الحركة)

يمكننا القول أيضاً كائنين متحركين لهم نفس الاسم على نفس المحرك

كما لا يمكنك إضافة الكائن المتحرك على أكثر من محرك في نفس الوقت

أجمل ما في التعديل الجديد أن الحزمة الاعتمادية في الحزمة أصبحت أقل بشكل كبير

ويمكن ببساطة تغيير أي جزء من الحزمة وتعديله برمجياً دون التدخل في الكود الأصلي للحزمة

كما أصبحت الحزمة أكثر مرونة من قبل

فهناك كائنات متحركة يحركها محرك

وهناك مكونات تدار باستخدم حاوية

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

كما يمكنك ببساطة أن تخلط ما بين التحريك والرسم في نفس الوقت

وكل هذا بأقل حجم من الذاكرة

الصراحة أن الحزمة شهدت مجموعة من الإضافات الكبيرة

مع إصلاح مجموعة من الأخطاء bugs في الشيفرة

وحملة توثيق جيدة تعد الأكبر في تاريخ الحزمة (التوثيق بالعربي ولا وجود للإنجليزية إلى في بعض المصطلحات)

وبدأت أفكر بشكل جدي في الانتقال من الأرقام العشرية إلى الإصدار الأول من الحزمة

لكني مازلت أحتاج إلى تجربتكم معي وأراءكم حول الحزمة

وفرت أيضاً هذه المرة مع الحزمة مجموعة من الأمثلة البسيطة تظهر ما وصلت إليه الحزمة (وسأحاول بين الفينة والأخرى أن أضع أمثلة أخرى)

لحد الآن لم أقرر الانتقال إلى الإصدارة الأولى في انتظر أراءكم وانطباعاتكم حول الحزمة

src.rar

تحياتي

2
حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#2

مثال استخدام لوحة المفاتيح مع AAnimation

أرفق المثال مع الحزمة لإصلاحي لمشكلة bug في الحزمة

بالمناسبة أفكر في رفع الحزمة على إحدى المواقع مفتوحة المصادر

فهل تفضلون google code أم sourceforge

تحياتي

AAnimation.rar

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#3

sourceforge

عفواً أحبتي انقطاعي بسبب الدراسة دعواتكم بالتوفيق..

{ لا ينال العلم مستحٍ ولا مستكبر }

#4

إستخدمت Google من قبل و وجدته لا بأس به ..

و لم أستخدم SourceForge ..

#5

SourceForge كويس وجميل

وفيه ناس كتير بتضع عليه

وانا لاحظت ان الكثيرين يضعون عليه

Software Developer
Mahmoudkelany.com


 

#6
Mahmoud Kelany كتب:

SourceForge كويس وجميل

وفيه ناس كتير بتضع عليه

وانا لاحظت ان الكثيرين يضعون عليه

بالتوقيق اخي علاء

#7

رائع جدا اخي علاء

حزمة مفيده ورائعه جدا

تحياتي :wink:

#8

مشكور اخي الكريم

الهم علمنا ما ينفعنا وانفعنا بما علمتنا :)

#9

لقد واجهت مشكله عندما فعلت لها ال(compiler )

فأنا لا اعلم كيف استخدمه

albert_einstein.jpg

Untitled-AE.jpg
#10

مممممممممممممممممم

ما الخطأ الذي تحصل عليه بالضبط؟

ما نسخة JDK التي تعمل عليها؟

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#11

jdk1.6.0_20

قد تكون طريقتي خطأ

فلو امكن ان تشرح لي الطريقه الصحيحه بستخدام Netbeans او CMD

فهذه اول مره افعلها

وشكراا

albert_einstein.jpg

Untitled-AE.jpg
#12

قم بإنشاء مشروع جديد في Netbeans وانسى ملفات الجافا في src

وبعد ذلك قم بتشغيل الملفات الموجودة في الـ Package version10.example

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#13

لقد انشأت مشروع ثم قمت بفصل ملف ال(example)

عن version10

و اخذت ملف واحد فقط من example وهو(ComplexPainter)

ووضعته في src

وثم اضفت version كمكتبه مع العلم اني فصلت ال(example)

فلم ينجح لم يتعرف على المكتبات

وهذه بعض الاخطاء

Updating property file: C:\Documents and Settings\HP\Desktop\JAVA 6-Paracties\TestVer\build\built-jar.properties
Compiling 2 source files to C:\Documents and Settings\HP\Desktop\JAVA 6-Paracties\TestVer\build\classes
C:\Documents and Settings\HP\Desktop\JAVA 6-Paracties\TestVer\src\ComplexPainter.java:9: package version10.painter does not exist
import version10.painter.CachablePaintBoard;
C:\Documents and Settings\HP\Desktop\JAVA 6-Paracties\TestVer\src\ComplexPainter.java:10: package version10.painter does not exist
import version10.painter.Component;
C:\Documents and Settings\HP\Desktop\JAVA 6-Paracties\TestVer\src\ComplexPainter.java:11: package version10.painter does not exist
import version10.painter.ComponentImpl;
C:\Documents and Settings\HP\Desktop\JAVA 6-Paracties\TestVer\src\ComplexPainter.java:12: package version10.painter does not exist
import version10.painter.ContainerImpl;
C:\Documents and Settings\HP\Desktop\JAVA 6-Paracties\TestVer\src\ComplexPainter.java:13: package version10.painter does not exist
import version10.painter.PaintBoard;
C:\Documents and Settings\HP\Desktop\JAVA 6-Paracties\TestVer\src\ComplexPainter.java:18: cannot find symbol
symbol  : class PaintBoard
location: class ComplexPainter
                PaintBoard paintBoard1 = new CachablePaintBoard(false, new Dimension(
                ^
C:\Documents and Settings\HP\Desktop\JAVA 6-Paracties\TestVer\src\ComplexPainter.java:18: cannot find symbol
symbol  : class CachablePaintBoard
location: class ComplexPainter
                PaintBoard paintBoard1 = new CachablePaintBoard(false, new Dimension(
                                             ^
albert_einstein.jpg

Untitled-AE.jpg
#14

هل نسخت مجلد src

ووضعته في مشروع الـ Netbeans?

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#15

الحمد لله بعد عناء طويل نجح الامر :wacko:

شكرا لك يا اخ علاء :blush:

albert_einstein.jpg

Untitled-AE.jpg

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