بسم الله والحمد لله و الصلاة والسلام عليكم طيب يا
بنات اليوم هنكمل في موضوع ال Java Programming و
تحديد في graphical user interface و كنا نتكلم على
ال frame و هذا ال code البسيط اللي أنشأنا من خلاله
هقول ان في عندي frame شأته أحددت default closed
operation أحددت ال size سبعتها أحددت لها ال title
و لازم أعملها visibleعشان أقدر أشوفها على الشاشة
لان ليش احنا محتاج نكتب ال code بالشكل هذا لأن ال
Java by default مافيش لها form designer ال Java by
default مافيش لها form designer وبالتالي ال
programmer لازم يكتب ال code بالتفصيل من ال ألف
إلى ال يعنى وإن كانت في ال netbeans على سبيل
المثال بعض ال versions بتمنحك أو بتسمحلك انك تعمل
ال form editor تقدر تعمل formVirtually يعني تعمل
دراج و دروب مثل لغات البرامج التانية لكن هذه إضافة
على ال Java لاحقا مش ال core تبعت ال Java اثنين في
ال Eclipse نفس الكلام موجودة بس في شغل اسمه ويندو
او form designer ك plugin بتروح تضيفيها على ال
Eclipse و تبدأ تشتغل عليها لكن في النهاية انت
مطلوب منك تكتبي code بالكامل طيبهذه الشغلات اللي
احنا شوفناها المرة الماضية وكان الناتج العملي
تبعتها عشان نذكرك فيها هي البرنامج وممكن احنا
نعمله run وهي ال output ال frame بالمواصفات اللي
انا اضفتها على العنصر اللي موجود عندى هنا عشان
نكمل ان احنا الان اتكلمنا على size
size set size وقلنا هي الحجم set size او width و
height width و height الان set size بتاخد مني
object من نوع dimension فممكن
انا استغني عن set size و اروح احدد او عفوا اروح
بدل مكتوب اللي هي x و y اروح اعرف dimension
Dimension دي equal to new dimension و
ال dimension هذا بده احددله ضد ال width بدها تساوي
300 و ال dimension ضد ال height يساوي 200 اللي هي
نفس الحجوم اللي موجودة عندى أساسا
نفس الحجوم اللى موجودة عندى أساسا و فى داخل ال
form هان او فى داخل ال set size اروح استخدم مين ال
D ك dimension نفس
الحجم لأنه ماتغيرش عندي ولا حاجة بالضبط انا أخدت
object من ال class dimension و اديته ال size high
اللى هي عفوا ال width و ال height و استطعت اعتمد
على ال dimension ك objectفي التعامل مع حجم الـ
frame كذلك ال class
ال dimension نحن الآن بنقول كتالي ال set size ك
overloading method في منها بتاخد width و height as
integers و في منها بتاخد dimension as objectفانا
ممكن بس تعرفك على ال object ال dimension لإنه فيه
object آخر related له اللي هو ال point اللي شفناها
في ال location كذلك في عندي method اسمها set
location ال
set location هاي احنا by default قلنا بيظهر عندي
في النقطة 00 بمعنى لو كانت هي ال window تبعتي
أو screen نقطة
القياس الأساسية تبعتي أو ال origin point 00 هيها
وهك بتتكلم على X وهك بتتكلم على Y X و width أو Y و
height مصبوط؟ لما أنا بتتكلم على ال size اللي
موجود عندي تماموبالتالي لما انا روحت وقلت له عرضة
الـ frame هذا حددته ما حدتكلمتش على ال location
فمباشرة هو عمل له bot على ال point 00 لو انا بدي
اغير ال location بدي
اجي هنا على سبيل المثال هقول له jframe.set
location
في الـ location بدي أحدد النقطة اللي بدي أكون
عليها ها وهذا النقطة X وY وليكن على سبيل المثال
بدي أقول له أنا مثلا خمسين على ال X ومية
على ال Y overloading method مافيش فيها مشكلة فمهم
انت كنت بقي argument صح هيرن
لحظة من ظهر الـ frame اللي موجود عندى لأن أنا
قلتله نزله من فوق مية و من هنا خمسين وبالتالي انا
حددت ال point تبعتي هذه النقطة هي النقطة الأساسية
اللى انا عرضت فيها ال frame الموجودة طبعا بنفس
الكلام انا ممكن انشط point بدل ما اعتمد على ال X و
ال Y ممكن انا اعتمد على point object
point b == new point point point
.x == 50 point
.y == 100 و بقى جهان بغيرالـ argument تبعت الـ set
location وأستخدم
بيه وأعمل run هحصل على نفس النتيجة السؤال اللي
بيقرح نفسه الآن أنا فيه عندي set location set size
set visible مصبوط set title set
sizeset title set
location set
visible ترتيبهم
مهم؟ هل الترتيب مهم؟ في
ال visible ممكن تكون مهم بدون ذلكأخر حاجة يعني
زميلتكوا بتقول لو أنا جبت ال set visible ها
دي هيك همسلها Ctrl X ونجلتها مباشرة بعد تعريف ال
frame بنفعش
أحطه قبل ال frame صح؟ بنفعش أحطها قبل ال frame و
لا لا؟ طبعا بنفعش لأنه عرفت ال object أنا مية لمية
هيرن
عارفة ليش؟ لأن الفارق هذه انت قاعدة بتتكلم على
مجموعة من الخصائص لنفس ال object مجموعة من الخصائص
لنفس ال object وقاعدة بتتغير عليها يعني الان هو
already ال object تم .. ال object تم إنشاءه ولا لا
من خلال ال method و الفارق في ال execution تبعتها
هي بال nano second فانت مش هتشوفي تأثيرالترتيب
اللي عندك هذا ليش لأنه كمان مرة already ال object
constructed تم إنشائه وانت قاعدة بتغيري من خلال ال
method هاي انت بتغيري بالخصائص تبعته فقط وبالتالي
ممكن لو صار في عندي delay عالي في لحظة من اللحظات
اشوف ال visible قبل ما اشوف ال titleلو صار في عندي
delay عالي جداً بس الآن احنا بنتكلم على 4 جيوم
المتتاليات الفارق في الزمن في ال execution تبعتهم
بال nano second مش بال mili حتى و بالتالي احنا مش
هنقدر نحس بال element أو بالفرق اللي موجود تمام؟
الآن هذا تقريبا اللي احنا حكينا عليه الشغل اللي
حكينا عليه المرة الماضية و أضفنا له ال dimension و
ال point ال point مهمة جدا يا بناتلأنه لما أنا
بأجي بحرك ال mouse رأس ال mouse هذا دائما يشير إلى
point و بيعمل return ال listener تبع ال mouse ممكن
يعمل return ل point وبالتالي انا ممكن انا استفيد
منه يعني الآن تخيلي لما انت تيجي كنت عندك مجلد و
بتروحي تمسكي element او folder او file و بتعملي
drag و drop عليهكتب وجد العلاقة بين اتنين ليش
جابوا على الفولدر هذا ولم يجيبوه على الفولدر
المجاور لأن انت عملت over one point من اللي
بيحتلها المساحة الفولدر هذا فهو افترض انك انت قاعد
بغضيفي على point تانية تمام set
size set title get icon image set icon image لو
انت بتحط icon لل frame set enabled عشان يكون متاح
للمستخدمينset location built as overloading method
في عندي method اسمها set bound لحظة انا اتكلمت على
size و
location اتكلمت على size و location و زودتها لما
اتكلمت في ال size اتكلمت على dimension مصبوط و
اتكلمت على point الآن ال set bound هي عبارة عن
methodبترسم ال frame تبعي أو ال object تبعي و
بتاخد two arguments او four arguments بتاخد ال
position او ال location من خلال ال X و ال Y two
arguments و بتاخد ال size من خلال ال height و ال
width يعني بإمكاني انا استغني عن ال set size و ال
set location و اكتبها مرة واحدة خلينا نفذها
يعني الآن انا بدي اجي لل dimension كل العناصر هذه
set size هعملها comment و
اروح
اقول جي فريم dot set bound x
و y جداش قولنا ال x خمسين
100 الـ width 300 و الـ height 200 لاحظي أنا
استغنيت عن كل ال code السابق باعتمادي على ال
method high و حصلت على نفس النتيجة وبالتالي الأمر
متروك إليك حسب طبيعة ال code اللي أنت بتشتغليه حسب
ال application ممكن تستخدمي أي method بدك إياها
ممكن في لحظة من اللحظات تحب تعمل بيه sizing لل
window لل frame اللي موجود عندك أثناء ال run-time
وبالتالي هتدفع إلى ال set size بعيدا عن ال set
pound لأنك ممكنش تغير ال location ممكن تغيري ال
size فقط
set resizable أتحكم بالـ size هل هو أعمل extension
ولا لأ أثناء الـ runtime وset extended state هذه
الـ method بتحدد شوه طبيعة الـ window أو الـ frame
أول ما يشتغل احنا متفقين أن الـ frame له title bar
و ال title bar عليه أربع تلت مفاتيح رئيسية ال
clause maximize و restore و ال minimize مظبوط؟
title
الان الـ frame.normal هو الوضع التلقائي حسب الحجم
و ال location اللي انت حددتيه لكن لو انا قلتله لل
frame set extended side state و روحت قلتله frame
maximized horizontal horizontal أفقي يعني احتل عرض
الشاشة بالكامل و حافظ على الارتفاع اللي انا حددته
إذا أنا قلتله maximize bothوكأني اضغط على المفتاح
هذا عشان يحتل الشاشة عملته Maximize iconified انه
يعني عمله run لكنه مايظهرش ال frame لكنه بيظهر في
ال taskbar وشريط المهام اللي موجود عندى خلينا
نجربها على السريع ونكمل لو انا اجيت هان وروحت وقلت
له jframe.setExtendedState
و JFrame Dot Maximized
مثلا Horizontal لحالها هيرن Okay إيش لسه أنا عندها
Maximize
Horizontal صح Okay
both غالبا ال set bound هى هى maximize طيب
iconified ليش ال horizontal مش تغلقتش؟
Anyway يمكن يكون هناك شيء مش قادر أستوعبه ليش مش
قادر يعمل maximise horizontal و vertical لكن الأن
لو أنا قلتله iconified هيشتغل
و يبين معايا وين فقط على ال taskbarيعني لأن ال
application شغال ال frame مش موجود قدامي لكن لو
أطلعت على ال taskbar ال frame موجود و كأني عمله
minimize فممكن أنا أسترجعه و كأني ضغطت على المفتاح
ال icon طيب ننتقل
لشغلة مهمة في محاضرتنا اليوم اللي هي الموضوع
layout manager والتعامل معالعناصر قبل ما اروح في
مقابل ال set method في عندي مجموعة من ال method is
visible is enabled get location عشان تشتغل عكس او
تفحص حالة ال element في المرة او ال object ال
frame حسب الخصائص السابقاتوبالتالي أنا قاعد بتكلم
على frame كأساس window وبدي أعرض عليها العناصر أو
بدي أقسم عليها ل graphical user interface element
هو أساساً مصمم يحتوي ال menu bar و ال user
interface element وعملية إضافة ال element على
البنء الهادي أو على ال frame من خلال ال method
اللي اسمها add خلال ال method اللي اسمها add يعني
الآن ال J frame اللي أنا عرفته في المثال تبعنالو
أريد أن أضيف شيء سأقول له .add و هنا يجب أن أقول
له أعطيه UI object حسب ما هو ال UI object اللي
أريد أن أضيفه في النهاية لو أنا كلمت هل ال JFrame
هو عبارة عن panel عبارة عن panel أنا بدي أرسم
عليها العناصر اللي موجودة عندها كذلك في من ال
panel في عندي ال class JPanel
وإذا بتذكري لما المرة الماضية اتكلمنا على العلاقة
ما بين ال elements بشكل سريع نرجع لها الرسمة هيها
قولت أنا في ال internal structure للجافة لل
graphical user interface بالجافة أنا فيه عندي two
containers ال frame اللي هي ال top level window
والتانية فيه عندي ال panel و بعدين بالعلاقة بقدر
أضيف عليهم ال button أو باج ال element وممكن أنا
أضيفهم مباشرة علوينعلى الـ frame وممكن اضيفهم
مباشرة على الـ frame لكن اضافتهم المباشرة على الـ
frame بتحتمل مخاطر خصوصا عند ال update لل
application اللي موجود عندي تمام الآن الباني لهذه
ك container service مستخدم للرسم و في نفس الوقت
container فاستخدامها هيكون كبير مفيد بالنسبة ليه؟
لا حقا طيب الآن
لو انا اجيت على ال application او المثال اللي احنا
شغلناه ايه بدي اعملها دي command و
بدي اجي بدي اروح على ال j frame اللي عندي و اضغط
add new
j button و ال button هذا
button1 بدي أسميه إيش الصدرة بالكودة هنا سوا أنا
عامالي بقى أضيف الـ new J button as UI object على
مين؟ على ال frame اللي موجود عندى على ال frame
اللي موجود عندى حيران اتغير ال frame بالكاملوصار
هو كله .. كله button ايش اللي صار؟ طب ليش ال
button هيك صار حجمه؟ عشان انا ماتكلمتش عن حجم بتبع
ال button؟ okay هاي بده اطلع ال button من هان
خليني .. هاي control X و بده اسمي بي وهي J button
بي بده تساوي
والـ B.set size ده يقول له ال width يكون مثلا
خمسين و ال height يكون تلاتين كويس هيك؟ و هيضهر
في نفس الصورة، نفس الشكل عشان ال new object؟ لأ،
بعد كده بقولك ليش أنابما أن الـ Java أساسا مافيش
فيها form designer راحت اتكرت بعض الشغلات اللي
ممكن تساهم في تسهيل ال design الشغلة سمتها layout
manager إيش هو ال layout؟ بقولنا هو المخطط layout
المخطط الرسم تبعتنا هذه و بال layout manager بال
Java ال defaultتمام؟ نتكلم على مجموعة .. الـ
manager بحدد الـ position و الـ size تبعة الـ
graphical user interface لاحظي بحدد ال position و
الـ size يعني انت بتعملي add و ال layout manager
هو اللي بحدد الحجم المناسب و ال position حسب ما هو
بيرتقي طيب في الحالة اللي احنا موجودين فيها الـ J
frameضمن شغلة او الـ default layout manager اسمه
border-layout border
-layout الـ
border-layout او هذه الـ layout التلاتة في عندنا
تلاتة layout بشكل عام flow و border و grid هذه الـ
default تبع الجي فريم
default for jframe الفكرة فيها لما بدى بتكلم على
ال flow layout ان العناصر بدها تظهر تباعا على ال
frame أو على ال panel اللى عندي as line كأسطر
بتمشي بشكل أفقي لما بينتهي السطر او لما ببطل في
عندي وسع ياخد new object بكمل في السطراللي بعده ال
border layout بيجسم الشاشة لخمس مناطق North
South East و West و Center لما بكي تضيفي علىالـ
border layout by default الـ add بيكون في الـ
center ومش
بس هيك ال border layout بيعمل stretch لل object
بيغير الحجم تبعه بحيث انه يعمل occupied لكل ال
area طب يا أستاذ احنا اضافناها انا عملنا له add هو
border layout و انا اضاف اضاف على ال centerطب ليش
احتل المنطقة بالكامل احتل ال frame بالكامل لأن ال
center له الأولوية طالما العناصر التانية empty ال
location التانية is empty في ال grid بروح بجسم ليه
لإيش لشبكة مجموعة من الصفوف والأعمدة وبتم
إضافة العناصر عليها كذلك تباعا كذلك تباعا يعني
الآن أنا في عندي flow layout
flow border and grid في ال flow بتتكلم as lines
حسب
أحجام ال element بيضل
يضيف ليهأيش يا أستاذ؟ انت عملك بتقولنا أن الـ
system هو اللي بتحكم بالحجم وقاعد يقول حسب الأحجام
يعني السطر ممكن يكون فيه أربع مفاتيح وسطر تاني
يكون فيه تلاتة؟ أه ممكن وهلأ جت بقولك ليش؟ الآن
العناصر اللي أنت بدك تضيفيها ممكن تتحدديلها الحجم
غير هيك بعضها هيكون عليه label وبناء على ال label
اللي بيظهر كل ال label اللي موجود وبالتالي هتختلف
الأمور خلّينا نشتغل واحدة واحدة من ناحية عملي أو
في الأول نشوف ال flow layout الكلام عشان الكلام
اللي احنا بيقوله كله مكتوب flow layout manager
lines و horizontally بتوزع ال element اللي موجود
لما مابيضلش في الوسط انا بروح على السطر اللي بعده
من ناحية code لما انا بدي اغير ال element اللي
عندي او العناصر اللي عندي as a flow layoutالفيلم
المفروض يشتغل في الـ default في ال border في الأول
عشان أخلص منه وبعدين بقى أروح لل flow طيب الآن
احنا بنقول by default by default في ال border لأ
في ال .. مع ال frame ال border layout is ال layout
manager وبالتالي ال element اللي أنا أضفته هان
البطون اللي أنا أنشأته هذا انضف وين؟ انضف على ال
center لو أنا بدي أضيفه في ال north باخد coma و
بقولهborder layout border
layout dot من ال north نورث وبهيك أنا قاعد بقوله
ال element هذا ماتضيفليش إياه على ال center
ماتضيفليه أين؟ على ال north في المنطقة هذه هي
runهتلاحظ انه فعليا ضاف وين على ال north واحتل ال
north بالكامل لو انا بدى اغير ال direction و احطه
في ال east على سبيل المثال run
احتل ال east بالكامل بناء على لحظة انه بجربش على
منطقة ال center مطلقاليش؟ لأن الـ Center هو الأساس
وبالتالي هو الـ override location اللي أنا موجود
عنده في عندي مشكلة تانية مع ال grid layout أو عفوا
مع ال border layout أنه لو أنا ضفت أكثر من عنصر
على نفس المنطقة تظهر as stack وبالتالي هشوف آخر
واحد يعني لو أنا الآن أخدت ال statement هاي و بدي
أكررها كمان مرة
as if okay وروحت
هنا بتقول له new jbutton و ال label تبعه بتقول له
button2
الأول
هي و هنا أضافت button تاني run
إيش هذا؟ إيش اللي صار هذا؟ East؟ نعم؟ لأ و بعدين
هذا مش من ..
أنا روحت أنشأة object من نفس الكيفية السابقة الحجم
اللي قلناه مالهوش داخل okay
هو already borderly out بيتنين جيه
بوتون بيتنين بدها تساوي
يعني هو راح أنشأ button لأ باسم الصح الأصل المباشر
ليكن أنا حاولت أنشئ anonymous ب object من ال
button بحيث أنه .. الآن وين button واحد؟ تحت
button اتنين ففي مجال أصله اللي أعمل من خلال code
لbutton واحد hide invisible set visible false عشان
يبين عندي وبالتالي هذه مشكلةالعناصر هتصير فيها
عندى as a stack وانا بشوف اخر element من العناصر
اللى موجودة عندى هن طيب الان لو انا بدى اغير ال
border layout ال other layout هروح على ال j frame
dot set layout وبدى احددله layout manager هروح
اقول له أنا newflow layout إيه صار عندي الآن؟ صار
عندي flow صار الآن ال layout manager تبعت ال frame
بعد ما كانت border صارت flow كم مفتاح ضايف عليها
أنا؟ اتنين لاحظ في البداية ماتدانيش خطأ على ال add
على الرغم أن أنا محدد eastمحدد ال location مدنيش
خطأ عليها السبب ان الاد تم تعريفها as overloading
method ممكن تاخد ال location .. تاخد ال position
لو كان ال default او ال layout manager اللي عندك
border layout لو ماكنش موجود بتشتغل على ال
argument الأول اللي بدها تضيفه تمام تعالى نشوف هنا
high run راح اضاف ل button 1 و button 2في السطر
الأول و اعمل لهم alignment في الوسط لو انت بتغيري
اول حاجة ال alignment تخليه اليامين او اليسار
مباشرة من خلال ال constructor تابعت ال layout
manager new flow layout هيه بروح مباشرة بقوله flow
layout dot left ولا right ولا center left على سبيل
المثال وبهيك انا بكون شغالة او حصلت علىأو قدرت
أتحكم في الـ alignment المحاذاة تبع السطر في الـ
flow layout لكن لاحظي الـ two buttons اللي هم نفس
الحجم اللي هم نفس الحجم الآن بقدر أروح عليه السريع
أضيف
مجموعة من ال elements مجموعة من ال buttons لل
frame اللي عندي Jframe.add
و انا بدي اسميه تلاتة فقط اوكي
بدنا كومها بدنا ghost و
هي control C هان
اربعة يعني خمسة ستة كم بطل انا بضيفضفت سبع .. سبع
buttons على الشاشة، هيهم لاحظي،
button 1 و button 2 أحجامهم مختلفة تماما عن باقي
الأحجام العناصر التانية لأنه .. لأنه .. خليكي
معايا يا أستاذ، سيبيكي من .. ال label اللي موجود
على ال button تحكم بال size تعالي لو أتيت هنا
للحظة وهي عملت ضغط على ال button الأولالـ border
selection أو الـ selection rectangle اللي على
البطن انتهى أو بدايته مع حرف ال بي و نهايته مع
الواحد و ال space هذا هيه هذا
ال space يساوي هذا و لو أجيت هنا نفس ال space يعني
بين جثين ال label صار هو اللي بتحكم في حجمالـ
button اللي موجود عندى في حجم ال object اللي ممكن
يكون موجود عندى طب لو غير لو اتحكم لو قلتله انا ال
button هذا حجمه كده هل ممكن يأثر يعني اجي مثلا ل
button 2 هان اقوله dot set size أو button 1 عفوا
set size العرض تبعه يكون مثلا 200 او 100
كما وهي الارتفاع عشرين الخطأ
ليس من الـ two semicolon بالمناسبة الخطأ هنا من ال
constructor عند ال constructor بيقول إيش ال type
mismatched, could not convert انا بورجيكوا أن
الخطأ ليس من ال two semicolon control Xهي B dot
control V
بس ماشي .. المفروض .. okay أنا ويه الخطأ مستحيل
يكون في ال two semicolon يعني ليش؟ ليش؟و بياخد
واحدة semicolon بالنسبة إلى الجافة أو للغات
البرمجة هي عبارة عن حالة أو نهاية الجملة يعني أنا
بقول له أنها انتهيت إيش معنى الجملة السابقة الآن
هسه من السيمي كولون فراح فحص الجملة هذه الأمورها
تمام وراها سيمي كولون يعني إمتى statement بيعملها
ignore و بيعمل move لل next element طيب الآن غيرت
الحجم هي run تغير حجم بطولة واحدولا إشي كما هو
وبالتالي ال control لل size و ال position لمن؟ لل
layout manager مشكلة ال flow layout الآن لو أنا
أجيت هنا و غيرت الحجم إيه صار؟ هيعيد ترتيب ال
objects أو ال GUI object داخل ال panel اللي عندى
هى كلهم صاروا على نفسالصدر هاي واحد اتنين وبالتالي
اذا انت بدك تروح باتجاه ال flow layout وتحافظ على
ال interface بنفس الترتيب set resizable فالس كمان
لأ
لأ احنا متحكمنا فيه هيه by
default كل frame او كل بنيل بتجي ب layout by
default ال J frameبشتغل border ال panel هتستخدم
flow by default لكن هذا لا يعني ان انا ماقدرش
اغيره بغيره من خلال new set layout هاي ال method
عشان أتأكد منها مرة تانية على الـ frame أو الـ
panel اللي عندي dot set layout الميثود موجودة و
بديها object من ال layout المطلوب فأنا بعمل
override ال layout اللي انا بدي استخدمه طيب، لاحظ
ان ال add عملية sequential الallow في ال execution
لو أنا فكرت ان button 5 بدي يظهر قبل button 4 ايش
ممكن أسوي؟بس بدي أنجله في ال code قبل هل في مجال
أتحكم فيه لاحقا بعد هيك يعني بعد ما هو ظهر لأ يعني
إذا أنا بس بدي خمسة ييجي قبل أربعة الحل الوحيد أنه
أروح أعيد ترتيب إضافتهم على ال frame لأن عملية
الإضافة sequential و تبع انقلها بتحكم عملية الظهور
بالنسبة للـ grid layout ال grid layout بروح بجسم
الشاشة اللي عندي أو ال frame اللي عندي أو ال panel
اللي عندي لأ مجموعة من الصفوف والأعمدة مجموعة من
الصفوف والأعمدة يعني الآن أنا ممكن أروح أقوله بدل
ما كنت بقوله new flow layout new
grid layoutولمّا أقول له grid layout يقول لي عدد
صفوف و عدد أعمدة عدد صفوف و عدد أعمدة ليكن أنا بدي
أقول عدد الصفوف أربعة و عدد الصفوف تلاتة و تلاتة
مثلا هي
تلاتة و تلاتة معناته أنا جاعت بقول هنا إن ال frame
تبعي هذا بدي يحتوي فقط تسع عناصر، مصبوط؟ run
ماذا تستنبط من الرسم اللي موجود عندي هان؟ انه ما
زالت عملية الإضافة في الـ Grid Flow Sequential
وبدأ فيها صف صف مثل مثل ال Flow لكن بطل يقول أنا
خلص ال space اللي عندي خلصت الخلايا أخد أول تلاتة
حطهم في الصف الأول التلاتة اللي بعدهم في الصف
التاني و العنصر السابع بقى فيه هان طيب لو أنا بدأ
أروح أضيف كمان أنا عندي موسيقى على 2 صح؟بدي أروح
أضيف كمان تلاتة، أيش بتتوجع يساوي؟
أيوة،
أنا لسه ما شغلتش، بدي أسكر بس أسكر مجموعة المفاتيح
اللي كنت شغلها هنا أيوة،
أيش بتقولي؟ هأضيف صف جديد؟
أنا محدد عدد الصفوف، إيش ممكن يساوي؟ إيش يكون ال
action؟ إيش بتشوف ال action المنطقي اللي ممكن
يصير؟ حيضيف
العناصر والباقية ال buttons اللي أنا أضفتها وما
حقنشها، غيره؟ طيب بال word لما بتكون تكتبي و تضغطي
tab كنت انشأتي جدول و حطيتيه أربع صفوف و تلت أعمد
أو عملتي tab, tab, tab إيش بيساوي؟بيضيف صفة جديدة
لوحده و هياخد كل الـ element اللي موجودة عندك هذا
بال word، تمام؟ هيك اللي هيصير، طب عندي هان راح
ضاف لي كمان column يعني أصبح عنده عدد الصفوف ثابت
و مدون ذلك جالك أنا ممكن أتحكم في إيش؟ في عدد
الأعمدة يعني أعمل extension لل raw في ال grid اللي
عندى بحيث أني أصغرها لكن عدد الصفوف ماتغيرش عليه
ولا حاجةطيب، بهك بنكون خلصنا موضوع ال layout
للتلاتة و بنشوف لاحقا إن شاء الله كيف ممكن أنا
أتغلب أو ألغي موضوع ال layout بالكامل ألغي موضوع
ال layout بالكامل لأنه بديني أحيانا حرية أكثر في
التعامل مع ال elements لكن لما أنا بدي ألغي ال
layout بدي أصير كل element أحددله حجم و location
كل element بتصير أحددله حجم و location وهنا بتبرز
أهمية ال set bound methodبنشوفها لاحقا إن شاء الله
تعالى في أي سؤال يا بنات؟ لأنه افترض إن عدد الصفوف
ثابت قدم عدد الصفوف على عدد الأعمدة وانت الآن
بتضيفي عناصر أكتر من حجم ال grid الحل؟ راح أضافلي
وين؟ صفة جديدة السؤال الأخير لو أنا غيرت حجم ال
window هنا إيش اللي بتغير؟
حجم العمود فقط فقط حجم العمود الله يعطيكم العافية