صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 15 من 16
  1. #1
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي ربط منصة الرياض المالية- بالميتا تريدر -بدوكاسكوبي(JAVA SWINGS/APPLETS)

    بسم الله الرحمن الرحيم
    اعتبره تطبيق على موضوع مبادئء الجافا القائم حالياً
    الفكرة: نريد تصميم تطبيق يجعل المنصات الثلاث(منصة TWS --- منصة MetaTrader - منصة JForex) تتفاهم مع بعض اما بيانات مجردة او أدوات تفاعلية--مثلا وضع أوامر او حذفها - الخ
    يعني نريد شيئا كما في الصورة أسفل:
    بالتأكيد يمكن إعادة تصميمها باللغات الأخرى الأشهر سواء بايثون او سي++ او سي شارب
    --

    على فرض اخترنا الجافا لغة برمجة, وهي دائما الأفضل عند المقارنة مع أي لغة أخرى, فأنت تحتاج بعد اساسيات الجافا تتعلم:
    Java Swing
    Java awt
    Java sockets
    الخ
    تركيزنا هنا ليس على فكرة التطبيق نفسه ولكن على البنية التحتية التي تصلح لأي تطبيق.

    اضغط على الصورة لعرض أكبر

الاســـم:	0005.png
المشاهدات:	11
الحجـــم:	15.5 كيلوبايت
الرقم:	521611
    آخر تعديل بواسطة سلمان_العتيبي ، 17-03-2020 الساعة 05:06 PM

  2. #2
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    الدرس 01 من 87) JFrame Class


    طالما انها كلاس---اذن هي نوع-- وطالما انها نوع اذن تستخدم لـ 1) تعريف و 2) انشاء الكائنات والتي بدورها تتواصل مع المتغيرات والدوال التي لها علاقة بتصميم فريم(دقق في كلامي جيداً) -- نفس الكلام الذي كرناه كثير في الموضوع الأول.

    الفريم: هو مثل الحائط الخلفي الذي نضع عليه بقية الأشياء

    - لايمكن ان تعلق ورقة على حائط هوائي!
    -
    اقل اسطر برمجية ممكنة لرؤية فريم على الشاشة امامك سطرين:
    1) سطر انشاء الكائن من نوع JFrame و 2) سطر دالة جعله مرئيا --دالة setVisible ونعطيها قيمة true
    كود:
    		JFrame new_frame = new JFrame("ArabicTrader");
    		new_frame.setVisible( true);
    ولأن نوع JFrame استخدم في البرنامج اذا لابد في رأس البرنامج نستورد: javax.swing.JFrame

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

الاســـم:	0005.png
المشاهدات:	2
الحجـــم:	28.9 كيلوبايت
الرقم:	521615
    آخر تعديل بواسطة سلمان_العتيبي ، 17-03-2020 الساعة 05:37 PM

  3. #3
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    تمرين الدالة setVisible في المثال أعلاه, بقيمة true -- غيرها الى false -- مالذي سيحدث؟
    ج: سينشئ البرنامج الفريم(لأنك استخدمت new JFrame() c) ولكنه مخفي ولن تراه لأنك انت وليس غيرك قرر ان لايكون مرئياً.

    وبناء عليه أي فريم في الدنيا يبدأ new JFrame وينتهي بـ setVisilbe ولو كان هناك الف محتوى فإن جميع اسطرها البرمجية تكون بين اسلرطين السابقين

    ركز جيداً, setVisible لازم تكون آخر شيء
    تصور انك قررت رسم مربع على الفريم! وكان سطر دالة الرسم بعد سطر setVisible ؟؟
    لن ترى هذا المربع! ورقة خلف الحائط!! لن تراها!
    آخر تعديل بواسطة سلمان_العتيبي ، 17-03-2020 الساعة 05:48 PM

  4. #4
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    الدرس 02 من 87) مقاسات الفريم

    البرنامج السابق قلنا سيظهر بأقل مقاس ولن ترى عنوان الفريم الا اذا مغطته بالماوس,
    برمجيا يمكن اعطاء مقاسات اولية للفريم --فهو في الاخير مجرد طول وعرض و س و ص
    دالة setBounds تقوم بهذا الأمر, نغذبها بأربعة قيم,
    1- بدء محور الصادات على الشاشةة
    2-بدء محور الصادات على الشاشة
    -3 العرض الافقي
    4-الطول الرأسي-
    -
    كود:
    		new_frame.setBounds(20, 20, 500, 200);
    -

    للأهمية: هدفنا من الاخر, نرسم الفريم ثم نرسم عليه اشياء اخرى ثم نمنحها الحياة, مثلا رسمت دائرة على الفريم-- لامعنى لها الا اذا كن قرارك انه بعد الضغط على تلك الدائرة سيفتح امر شراء لليورو دولار مثلا مع الرياض المالية (ضغطك هنا بين ان هذا المربع تفاعلي وفيه عرق حياة) او سيجلب لك التكات لاي زوج محدد الخ! اشياء لاحصر لها!
    آخر تعديل بواسطة سلمان_العتيبي ، 17-03-2020 الساعة 06:05 PM

  5. #5
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    ففي الكود اعلاه ترى 20 ثم 20 ثم 500 ثم 200
    والزوج المرتب 0,0 هو المكان على شاسة جهازك او لابتوبك, اعلى اقصى اليسار!
    سترى الفريم متحرك منه يمين 20 بكسل ومتحرك تحت 20 بكسل وبعرض 500 بكسل وطول 200 بكسل

    اضغط على الصورة لعرض أكبر

الاســـم:	0005.png
المشاهدات:	2
الحجـــم:	31.6 كيلوبايت
الرقم:	521617

    من فوق لتحت 200
    من يسار الى يمين 500
    مزاحا للاسفل 20 ومزاحا ييمين 20

    تمرين: مستخدما نفس الكود السابق, جرب تغيير المعطيات الأربعة وانظر للتأثير بعد الكمبلة؟
    تمرين لو استخدمت قيمة X --اول معطى -- بقيمة 2000 -- اين سترى الفريم ؟


    في الحالة أعلاه اصبحنا رى العنوان للفريم وهي كلمة ArabicTrader دون الحاجة للمغط بالماوس.

    -

    انت الان درجتك 2 من 87 في فهم هذه الأمور حيث تعرف:
    1) انشاء كائن فريماوي JFrame
    2) استخدام دالة setVisible
    3) استخدام دالة setBounds
    4) استيراد الكلاس ذي العلاقة javax.swing.JFrame

    -- 0.50 درجة لكل فقرة.

    تمرين: هل يعني لك بدء الدول بكلمة set شيئا؟
    تمرين: ماهو نقيض دوال set ؟؟
    آخر تعديل بواسطة سلمان_العتيبي ، 17-03-2020 الساعة 06:19 PM

  6. #6
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    ومن الآن ولاحقا أي متغير نضعه باستخدام دوال set سنطلب معرفته من خلال دوال get
    اذا تذكرفي الموضوع الأول قلنا دوال get تبدأ بكلمة get وقد تبدأ أيضا بكلمة is لو كانت قيمتها منطقية boolean

    مثلا setVisible اعلاه نتوقع نقيضها اما getVisible او isVisible
    الصحيح منهما: isVisible لأنها دالة منطقية.

    دالة setBounds نقيضها هو getBounds

    ولأن هذه الدوال الأخيرة مجرد قيم نريد معرفتها في الكونسول ولادخل لها بتصميم الفريم لابأس ان تكون بعد سطر setVisible
    مثلا سألتك ما اسم الفريم؟ ثم اجبتني!! هل نحن هكذا تدخلنا في تصميم الفريم او تغيير اعدادته!!؟ ج: لا

    ودوال get قد تكون أحيانا أدوات مساعدة في اتخاذ قرار معين, مثلا فريم موجود بمقاس 200 عرض, وانت لاتريد المقاس ان يكون اقل من 300
    تبحث أولا عن مقاس الفريم الموجود ثم ترى هل هو اقل من 300 فتعدله ام فوق 300 فتتركه كما هو--مجرد مثال ليس الا--يهمنا هنا فقط انها الأداة الصحيحة لمعرفة المعلومة.
    -
    وبناء عليه ومع كل إضافة سنستخدم أيضا دالة println لعرض الناتج لأسباب تعليمية بحتة لادخل لها بالتطبيق.
    آخر تعديل بواسطة سلمان_العتيبي ، 17-03-2020 الساعة 06:43 PM

  7. #7
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    الدرس 03 من 87) دالة اكتشاف مقاسات الفريم ونقطة بدئه
    نستخدم دالة getBounds()s
    الدرس 04 من 87) دالة معرفة هل الفريم مرئي أم مخفي.
    نستخدم دالة isVisible()f

    انظر للصورة:

    اضغط على الصورة لعرض أكبر

الاســـم:	0005.png
المشاهدات:	1
الحجـــم:	39.5 كيلوبايت
الرقم:	521618

    هل لاحظت عبارة java.awt.Rectangle
    ؟
    يعني أن getBound هنا. صحيح انه تم استدعاؤها في سطر println اعلاه من خلال متغير من نوع JFrame --- اسم المتغير حسب الصور السابقة اخترناه باسم new_frame ولكن هناك علاقة مع الكلاس Rectangle الموجود في java.awt

    وطبعا نحن نعرف القيم او النواتج أعلاه سلفا لأننا نحن من وضعها أساسا, ولكن اردنا بيان هذه الدوال. مع العلم انه اخذها من الفريم المرسوم ولم يأخذها من البرنامج نفسه. (الفريم المرسوم اخذها من البرنامج)
    آخر تعديل بواسطة سلمان_العتيبي ، 17-03-2020 الساعة 06:58 PM

  8. #8
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    الدرس 05 من 87) دالة setLocation
    وهي هنا تحديد x,y --- يعني اول عنصرين في دالة setBounds
    الدالة العكسية هي getLocation

    الدرس 06 من 87) دالة setSize
    وهي هنا تحديد المقاسات طول وعرض -- اخر عنصرين في دالة سثفلاخعىيس
    فإذا استخدمت setBounds فهي تعادل استخدام هاتين الدلتين أعلاه.
    الدالة العكسية هي getSie


    الدرس 07 من 87) دالة setTitle
    عنوان الفريم في الأعلى ممكن تضعه او تعدله باستخدام هذه الدالة
    سنغيره من ArabicTrader-1 الى ArabicTrader-2
    الدالة العكسية - دالة المعرفة - هي getTitle

    الدرس 08 من 87) دالة setName
    اسم الفريم
    لكل فريم اسم ونرجو عدم اللخبطة بينه وبين العنوان في الدرس السابق.
    الدالة العكسية getName
    اضغط على الصورة لعرض أكبر

الاســـم:	_9997.png
المشاهدات:	2
الحجـــم:	77.8 كيلوبايت
الرقم:	521631

  9. #9
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    يمين الصورة ترى نقطة البدء Locatiom موجودة اساسا في الكلاس Point في java.awt
    بينما الابعاد في الكلاس Dimention تحت java.awt

    وكلا الكلاسين يشكلان الكلاس الاكبر Rectangle الموجود تحت نفس البكج java.awt

    المستطيل ماهو؟
    الفريم مستطيل وهو مجرد نقطة وابعاد-نقطة بدء رسم المستطيل وابعاده طول وعرض

    فالمستطيل Rectangle يأخذ النقطة من Point والابعاد من Dimension

    ناتج الكود أعلاه شيء كهذا:
    اضغط على الصورة لعرض أكبر

الاســـم:	_9997.png
المشاهدات:	0
الحجـــم:	9.4 كيلوبايت
الرقم:	521632

  10. #10
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي


    الدرس 09 من 87) دالة الديكور
    الدرس 10 من 87) دالة تغيير لو ن البار الرئيسي-بار العنوان


    اضغط على الصورة لعرض أكبر

الاســـم:	_9997.png
المشاهدات:	0
الحجـــم:	5.4 كيلوبايت
الرقم:	521633
    آخر تعديل بواسطة سلمان_العتيبي ، 18-03-2020 الساعة 04:09 PM

  11. #11
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    وهنا انت تذهب لاعدادات النظام لديك OS --- خارج الجافا, وتعدلها وبالتالي الاسطر ذات العلاقة ممكن تكون قبل سطر تعريف الكائن من نوع JFrame
    ولابد من استيراد:
    كود:
    import javax.swing.UIDefaults;
    import javax.swing.UIManager;
    وتحت main مباسر تضع الاسطر الأربعة التالية:
    كود:
    	    JFrame.setDefaultLookAndFeelDecorated(true);
    		UIDefaults uiDefaults = UIManager.getDefaults();
    		uiDefaults.put("activeCaption", new javax.swing.plaf.ColorUIResource(Color.blue));
    		uiDefaults.put("activeCaptionText", new javax.swing.plaf.ColorUIResource(Color.yellow));
    التحكم سيكون في لون خلفية الفريم ولون نصه لأنك حددت الفريم من خلال السطر التالي:
    JFrame.setDefaultLookAndFeelDecorated(true);

    وهذه الامور لكي يقبلها البرنامج لابد من دالة الديكور setDefaultLookAndFeelDecorated

    اترك السطر الأول فقط من الاسطر الأربعة أعلاه--سيكون هناك ديكور من غير تغيير الوان:
    اضغط على الصورة لعرض أكبر

الاســـم:	_9997.png
المشاهدات:	2
الحجـــم:	11.1 كيلوبايت
الرقم:	521634
    آخر تعديل بواسطة سلمان_العتيبي ، 18-03-2020 الساعة 04:18 PM

  12. #12
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    ملخص كل ماسبق:

    كود:
    import java.awt.Color;
    
    import javax.swing.JFrame;
    import javax.swing.UIDefaults;
    import javax.swing.UIManager;
    public class ArabicTRDR {
    
    	public static void main(String[] args) {
    
    	    JFrame.setDefaultLookAndFeelDecorated(true);
    		UIDefaults uiDefaults = UIManager.getDefaults();
    		uiDefaults.put("activeCaption", new javax.swing.plaf.ColorUIResource(Color.blue));
    		uiDefaults.put("activeCaptionText", new javax.swing.plaf.ColorUIResource(Color.yellow));
    
    		JFrame new_frame = new JFrame("ArabicTrader-1");
    		
    		new_frame.setBounds(20, 20, 500, 200);
    		
    		new_frame.setLocation(21,22);
    		new_frame.setSize(501,201);
    		new_frame.setTitle("ArabicTrader-2");
    		new_frame.setName("AlOtaibi");
    
    		new_frame.setVisible( true);
    		System.out.println("\n\ngetBounds  "+new_frame.getBounds());
    		System.out.println("isVisible  "+new_frame.isVisible());
    		System.out.println("getSize  "+new_frame.getSize());
    		System.out.println("getLocation  "+new_frame.getLocation());
    		System.out.println("getTitle  "+new_frame.getTitle());
    		System.out.println("getName  "+new_frame.getName());
    	}
    }

  13. #13
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    وهناك أشياء كثيرة عن الفريم ولكن نتركها لكم كباحثين طالما JavaApi تملأ النت.
    في الموضوع الأول تحدثنا عن البرنامج الخطير--كشاف كل محتويات أي كلاس او أي انترفيس.
    وكان من نهاية امرنا هناك اننا صممناه على مفهوم السورتنق او الترتيب الابجدي من اجل سهولة البحث.

    وننتقل الى components الفريم. (ايش ممكن نحط على الفريم)

    هل نضع نصا
    هل نضع ليبل
    هل نضع صورة
    هل نضع فيديو
    هل نضع دروب-داون مينيو؟؟
    الخ

  14. #14
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    سنمسح كل شيء ونترك اهم شي في الكود الاخير يعني سيبقى هذا:
    الملف المرفق 521635

  15. #15
    الصورة الرمزية Abdullah_aljohani
    Abdullah_aljohani غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2017
    الإقامة
    السعودية
    المشاركات
    5

    افتراضي

    لو تعمل لنا شرح بالفيديو بصراحة منصتهم مافهمت منها شي

صفحة 1 من 2 12 الأخيرةالأخيرة

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17