Java Sup 1295
Java Sup 1295
الملحق العملي
لمقرر البرمجة الكينونية
بلغة جافا( )1295
إعداد :أ .طروب سعد
مقدمة لغة جافا
كثي ار ما نسمع في هذه األيام عن لغة جافا ،حتى يبدو وكأنها قي كل مكان حتى في المكتبات.كل هذا
يجعلك تتساءل عن سبب انتشار هذه اللغة؟ والجواب ببساطة أنها تتيح للمستخدمين إمكانية تطوير تطبيقات
تعمل على الويب واألجهزة الصغيرة كالهاتف النقال ،كما أنها تستخدم في برمجة الشبكات.
كانت بدايات لغة جافا في أوائل التسعينيات من القرن العشرين في عام ،١٩٩١اخترعت لغة جافا
شركة صن ميكروسيستمز .ولهذا االختراع قصة عجيبة ،حيث أن الشركة كانت قبلل ذللك قلد كلفلت المهنلدس
جليمس جلوزلينج بوضلع بلرامج لتشلغيل األجهلزة التطبيقيلة الذكيلة مثلل التليفزيلون التفلاعلي باسلتخدام لغلة
سي ،++وحينها وجد جيمس جوزلينج صعوبة في التعامل مع هذه اللغة ،فقام هو وفريق العمل المسلاعد لل
بتطويرها ،فولدت لغة جديدة تتوافق ملع احتياجاتل فكانلت لغلة جافلا ،وقلد خططلت شلركة صلن فلي تللك األيلام
الستغالل هذه اللغة الوليدة في التليفزيون التفاعلي لكي تلربح المليلارات ،وحلدث نلوع ملن اللبطء فلي مشلروع
التلفزيون التفاعلي ربملا علن قصلد ملن الشلركات األخلر المنافسلة ،ونتيجلة للذلك فكلرت الشلركة فلي ايقلاف
مشروع تطوير هذه اللغة الوليدة وتسريح العاملين في هذا المشروع أو نقلهم إلى قسم آخر .ولكن حدث ما لم
يكن في الحسبان حيث أن في هذه الفترة كانت االنترنت قد بدأت في االنتشار بسرعة مذهللة ملع نلزول نظلام
الويندوز لألسواق ،وحيث أن لغة جافا الوليدة التي اخترعت أصال لبرمجة األجهزة التطبيقية فيها من السمات
ملا يجعلهلا أكثلر توافقلا ملع الشلبكة العنكبوتيلة الدوليلة اإلنترنلت ،فقلد كلان لهلا السلبق وأضلافت الكثيلر إللى
اإلنترنت الذي كان قبلها مقصو ار عللى تبلادل النصلو .ولكلن المطلورين بشلركة صلن ابتكلروا طريقلة تجعلل
برامج جافا تعمل بسهولة فلي صلفحات اإلنترنلت وغيلروا االسلم اللذي كلان قلد أطلقل عليل مبتكرهلا ملن آواك
شجرة السنديان إللى الجافلا ،وملن هنلا أصلبحت جافلا مرتبطلة فلي شلهرتها باإلنترنلت ،حيلث أن برنلامج جافلا
صغير يوضع في صفحة من صفحات موقع على الشبكة الدولية يراه الماليين في جميع أنحاء العالم في نفس
الوقت وقد كان هذا ال يتوفر إال ملع الجافلا مملا أعطاهلا شلهرة واسلعة .ولحسلن حلظ شلركة صلن أن لغلة جافلا
أكدت نفسها فلي المجلال اللذي طلورت لل أصلال ،فقلد بلدأ اآلن التليفزيلون التفلاعلي فلي االنتشلار وملا يسلمى
سينما المنزل والمشاهدة حسب الطلب .وليس هذا فقط بل أنتشر ما هو أكثر فائدة لشركة صلن وهلو الهلاتف
المحمول وللجافا أكبر دور في برمجة البلرامج التلي يعملل بهلا فلي أجيالل السلابقة والالحقلة ،وال نسلتغرب أن
يحلدث نلوع ملن الغيلرة بلين شلركة ميكروسلوفت وشلركة صلن ميكروسيسلتمز ،مملا دفلع ميكروسلوفت إللى أن
تحذف ماكينة الجافا االفتراضية من اإلصدارة األولى للويندوز اكس بي وهذه الماكينة االفتراضية مسئولة عن
بلرامج الجافلا عللى االنترنلت ولكلن ميكروسلوفت تراجعلت أملام طللب ماليلين المسلتخدمين حلول العلالم علر
فوضعتها مرة ثانية في اإلصدارات الالحقة وقد كانت قضية مشهورة تناولتها الصحف والمجالت.
2
وقد ساهم في شهرة جافا أيضا برامجها العلمية التفاعلية التي تصلح لمعظم المناهج التعليمية في جميع
مراحل التعليم وبالتالي فان لها دو ار كبي ار في التعليم االلكتروني والتعليم عن بعد والفصول االفتراضية.
من مميزات جافا أن جميع البرمجيات التي تكتب بالجافا ال يتم ترجمتها للغة اآللة مثل باقي لغات البرمجلة
بل يتم ترجمتها إلى ما يسمى بالل ( ByteCodeتحفظ كملف بإمتداد “ ،)”class.وهذه األخيرة عبارة عن
لغة وسيطة بين لغة البرمجة ولغة اآللة ،بالتالي فإن برمجيات الجافا تعمل عللى “جهلاز جافلا اإلفتراضلي”
(،)Java Virtual Machineوهو عبارة عن برنامج مشغل لبرمجيات الجافا ،مما يجعل برمجيات الجافا
غير قابلة للتشغيل في حالة عدم وجود هذا البرنامج ،ولكن في نفس الوقت فلإن هلذه الخاصلية تجعلل لغلة
جافا أقو بكثير من نظيراتها ،حيث أن بفضل هذه الخاصية يمكننا تشغيل اي برنامج جافلا كتلب عللى أي
نظام تشغيل على أي نظام تشغيل آخر دون الحاجة إلعادة عملية البرمجة والترجمة.
3
مزايا لغة جافا:
الخدمات المتميزة عن اللغات األخر وهي : صنعت لغة جافا حتى تقدم بع
.1اإلنتقالية ( : )portabilityوهي إمكانية تشغيل برمجيات الجافا على أي نظام تشلغيل كملا ذكرنلا
باألعلى.
.2األمان ( : )securityكون برمجيات الجافا ال تعمل إال عن طريق جهلاز جافلا اإلفتراضلي فبالتلالي
البرمجيات مما يعيق إمكانيلة صلنع برمجيلات مخربلة فإن هذا الجهاز يضع حدودا إلمكانيات بع
عن طريق هذه اللغة.
.3كائنية التوج ( :)Oriented Objectأن ابسط برنامج يمكن عمل بالجافلا ال بلد ان يتبلع توجل
البرمجة الكائنية التي تسهل الكثير والكثير من المشاكل بالنسبة لمتطور البرمجيات.
بكلل :)Distributed( .4يمكن صنع برامج جافا تعمل على الشلبكة و تتخاطلب ملع بعضلها اللبع
سهولة.
مع أن لغة جافا تختلف كثي ار عن قريناتها في طريقة عملها وفي خصائصها إال أنهلا تتشلاب كثيل ار فلي
قواعد تركيب وكتابة شفرتها بلغة الل C++المشهورة ،مما يسهل عملية تعلم الجافا لمبرمجي هذه اللغة.
منصات جافا
تقدم لغة برمجة جافا أكثر من منصة عمل للمبرمجين ومطوري النظم .كلل ملن هلذه المنصلات لهلا
مما يجعل كل من هذه المنصات متخصصة في تطوير أنواع وتقنيات تختلف عن بعضها البع خصائ
معينة من برمجيات جافا دون غيرها.
تعتبللللر هللللذه المنصللللة األكثللللر اسللللتخداما فللللي الجافللللا لتطللللوير برمجيللللات المكتبيللللة و (.)Appletes
عموما توفر هذه المنصة وحدات البناء األساسية ألي برنامج جافا مثال:
4
األملللور األساسلللية بالجافلللا :تلللوفر اساسللليات الكائنلللات ووحلللدات تعريلللف المتغيلللرات والنصلللو
وغيرها من األمور األساسية في لغة الجافا في رزمة مثل .Java.lang
إمكانيللات القلراءة والكتابللة :التللي تللوفر وسلليلة الكتابللة والقلراءة للبرمجيللات إمللا مللن وفللي الملفللات،
قواعد البيانات ،الشبكات وغيرها متوفرة في رزمة .Java.io
المكتبللات المرئيللة :هللي مكتبللات تسللاعد فللي تكلوين الواجهللة الرسللومية للمسللتخدم وأشللهر رزمتللين
لتكوين الواجهات الرسومية هم .Java.awt, and Javax.swing :
التعامللل مللع قواعللد البيانللات :تللوفير امكانيللة إدخللال البيانللات والبحللث عنهللا ،أغلبهللا فللي رزمللة
.java.sql
و هنالك غير هذه الكثير من الرزم المفيدة المتوفرة مع هذه المنصة.
مجموعة ملن مكتبلات الجافلا التلي تلوفر امكانيلة صلنع بريمجيلات تعملل فلي بيئلة تفتقلر لقلوة الحوسلبة
الكاملللة مثللل األجهللزة الصللغيرة وأجهللزة الهللاتف النقللال .اشللتهرت الللل J2MEبسللبب توفيرهللا بيئللة سللهلة
لتصللميم برمجيللات اجهللزة الهللاتف النقللال وأيضللا إمكانيللة أن يعمللل البللريمج علللى اكثللر مللن نللوع مللن ان لواع
الهواتف.
هذه المنصة تستعمل لتطلوير بريمجلات الجافلا التلي تعملل عللى جهلة الخلادم مثلل صلفحات اللل ()JSP
والسيرفرليتس وغيرها من األدوات والبريمجات المستعملة في تطوير المواقع والبرامج الشبكية.
كما أن هنالك منصات للجافا ال تلأتي ملع الجافلا نفسلها وال هلي ملن صلنع صلن ميكروسيسلتمس عللى
سبيل المثال (وليس الحصر) الل GWTوالل androidو هاتين المنصلتين هملا ملن صلنع جوجلل :األوللى
لبرمجة تطبيقات الويب والثانية لتطوير برامج تعمل على نظام تشغيل جوجل للجواالت األندرويد.
إضافة لهذه المنصات هنالك العديد من اصناف او لغات مستخلصة من الجافا مثل الجل روبلي واللل جلايثون
و هما شبيهتان بالروبي و البايثون ولكنهما تعمالن عللى جهلاز جافلا اإلفتراضلي مملا يعنلي أن هلذه اللغلة
تترجم إلى الجافا أوال ثم إلى البايت كود (طبعا هذا النلوع ملن اللغلات المعتملدة عللى الجافلا ال تقتصلر عللى
هاتين اللغتين بل هنالك مجموعة كبيرة من لغات البرمجة تعمل بهذه الطريقة).
5
بيئة العمل في Java
NetBeans
Forte for Java
Borland JBuilder
لصناعة برامج باستخدام لغة جافا نحتاج إلى برنامجين وهما (المحرر والمترجم) :و يتم تنزيلهم على
الترتيب التالي:
.1تنصيب المترجم:
.2تنصيب المحرر
أما المترجم فهو تابع للغة التي نبرمج بها وهي لغة جافا و بالتالي فالمترجم يكون من اللغة ذاتها.
ونستخدم برنامج اسم ) .Java Development Kit (JDKهذا المترجم يكون مسئوال عن تحويل لغة
الجافا التي نكتب بها برامجنا إلى لغة الهدف والتي تتحول إلى لغة اآللة.
أما المحرر ,فيمكن أن يكون , Jcreatorوهناك برامج أخر مثل netbeansوذلك حسب ما يختاره
مشرفك للتدريب .من مميزات :Jcreator
• سهولة التعامل.
• تمييز مفردات لغة البرمجة.
6
• سهولة ربط بالمترجم.
اإلنترنت: على الشركة موقع خالل من علي والحصول البرنامج تحميل يمكن
،http://www.jcreator.comأو مراجعة مشرفك أو فني المختبر لتزويدك ب .
ومن فوائد محررات النصو :تمييز الكلمات المحجوزة للغة بألوان معينة ،تمييز المتغيرات بألوان معينة،
اقتراح أسماء دوال و مساعدات على المبرمج.
لتنصيب المترجم ،JDKقم بتنزيل البرنامج كما أشرنا سابقلا ،واتبع تتالي الخطوات.
إليك خطوات تنصيب المترجم :Jcreator عزيزي الطالب :إذا اخترت Jcreatorكمحرر نصو
قم بالضغط على الملف التنفيذي للمترجم واتبع الخطوات كما في األشكال التالية:
7
8
9
خطوات ربط Jcewarorب :JDK
1
3 4
2
10
5
11
إذا عملت عزيزي الطالب على برنامج ، NetBeansإليك األجزاء الرئيسية للنافذة الخاصة ب :
12
تمهيد الملحق العملي:
التركيبة األساسية للبرنامج بلغة جافا:
البرنامج في أي لغة برمجة يتكون من مجموعة من الجمل و الكلمات األساسيلة التي ال يمكن أن يعمل
أبسط برنامج من دونها ,وهي كما تظهر في الشكل:
13
كلمة classتعني كائن و هو البنية األساسيلة للغلة جافا ,فكل برنامج في لغة جافا البد أن يحتوي على األقل
على تعريف كائن واحد.
كلمة firstهي اسم ( )identifierلهذا الكائن وهي متغيرة حسب طبيعة عمل الكائن.
• التوقيع ( :)Signatureهو رأس الدالة و تعرف الدالة ب ,و يتكون التوقيع من اسم
الدالة ,المعامالت و أنواعها ,القيمة التي تعيدها الدالة ,و درجة خصوصيلة الدالة.
• الجسم ( :)Bodyو هو المنطقة التي يتم فيها كتابة األوامر و التعليمات التي تمثل
المهمة التي نرغب في تنفيذها.
14
• البداية و النهايلة (} {) :هي األقواس التي تحدد بداية جسم الدالة و نهايتها ,فالبداية
هي { و النهاية } .
عزيزي الطالب:
سيتم تناول لغة جافا في هذا الملحق العملي من خالف مجموعة برامج تطبيقية
تقسم إلى مختبرات ،كل مختبر يتناول مجموع من المفاهيم في لغة جافا ،ويجري
التطبيق عليها في مختبر الحاسوب بإشراف مشرف المقرر ،ومتابعة أداء الطلبة.
15
مكونات البرنامج األساسية وطباعة أول برنامج بلغة جافا المختبر األول:
أوال :أهداف المختبر:
تم إعداد هذا المختبر لتمكين الطلبة:
المصطلحات والمفاهيم األساسية في لغة جافا. .1يفهم بع
.2معرفة مكونات برنامج جافا األساسية.
.3إعداد البيئة التشغيلية للغة جافا وتنفيذ البرنامج األول.
.4التعرف على مكونات مناهج الصنف JOptionPaneالخاصة باظهار صناديق الحوار.
.5طباعة مخرجات باستخدام جملة الطباعة االفتراضية System.out.println
عزيزي الطالب:
كما هي اسفل المخرجات قم بتنفيذ البرنامج التالي على احد مترجمات لغة جافا ،وارصد
البرنامج:
16
واذكرها في البنود التالية وذلك بتحديد،استخرج من المثال السابق المكونات االساسية لبرنامج لغة جافا
:رقم السطر
.1
.2
.3
.4
:المخرجات
حاول عزيزي الطالب ان تقوم بتطوير البرنامج السابق باضافة سطر مخرجات اضافي بيحث
:تصبح المخرجات كالتالي
// Welcome1.java
2 // THE FIRST PROGRAMME IN JAVA
3
4 public class Welcome {
5
6 // main method begins execution of Java application
7 public static void main( String args[] )
8 {
9 System.out.println( "Welcome to Java First Lab" );
10 System.out.println( " I study in Al Quds Open University
" );
11
12
13 } // end method main
14
15 } // end class Welcome
17
: اكتب البرنامج التالي بلغة جافا والحظ المخرجات التي تحصل عليها في صندوق الحوار
// Welcome4.java
11 {
12 JOptionPane.showMessageDialog(
13 null, "Welcome\nto\nJava\nProgramming!" );
:المخرجات
18
المصفوفات +السالسل الرمزية JOpionPane + المختبر الثاني:
أوال :أهداف المختبر:
تم إعداد هذا المختبر لتمكين الطلبة:
التعرف على المفاهيم األساسية بلغة جافا .1
التعرف على اللبنات التي تكون لغة جافا من جمل وتعابير ومشغالت .2
أن يتعامل الطالب مع جمل التحكم والدوران .3
أن يتعامل الطالب مع السالسل الرمزية والمصفوفات .4
أن يوظف المناهج الخاصة بالسالسل الرمزية والمصفوفات في بناء برامج تطبيقية منوعة. .5
أن يوظف مناهج الصنف JOpionPaneفي تطبيقات مختلفة. .6
.7
ثانيا :عزيزي الطالب:
[ ]1تأمل البرنامج التالي المكتوب بلغة جافا ثم اجب عن األسئلة التي تلي :
;*import javax.swing.
{ public class sumarray
// main method begins execution of Java application
) ][public static void main( String args
{
;} int array[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
;int total = 0
// add each element's value to total
) for ( int counter = 0; counter < array.length; counter++
;] total += array[ counter
JOptionPane.showMessageDialog( null,
"Total of array elements: " + total,
"Sum the Elements of an Array",
;) JOptionPane.INFORMATION_MESSAGE
}};) System.exit( 0
19
قم بطباعة البرنامج التالي وتنفيذه ،وارصد النتائج التي تحصل عليها
.3اكتب جملة الدوران التي تقوم بعملية الجمع وحدد مكونات هذه الجملة؟
.4اكتب البرنامج في محرر مترجم لغة جافا وقم بتنفيذه والحظ صندوق الحوار الذي يظهر في المجموع كما في
األسفل:
.5استخرج الجملة التي تعمل على إظهار صندوق الحوار السابق وحدد مكوناتها األساسية.
.6لو أردنا إظهار المجموع بدون أن يظهر صندوق الحوار السابق ،وذلك عن طريق ظهور الجملة التالية في نافذة
outputفي مترجم جافا:
[ ]1تأمل البرنامج التالي الذي يحوي استخدامات المناهج المختلفة للسالسل الرمزية في جافا:
;)System.out.println("strBuf1 : "+strBuf1
20
System.out.println("strBuf1 capacity : "+strBuf1.capacity());
strBuf1.setCharAt(1, 't');
strBuf3.append("beginner-java-PROGRAMMING");
strBuf3.insert(1, 'c');
strBuf3.delete(1, 'c');
strBuf3.reverse();
strBuf2.setLength(5); }}
:المخرجات
strBuf1 capacity : 29
strBuf3 capacity : 16
strBuf1 length : 13
strBuf1 charAt 2 : V
21
strBuf1 after setCharAt 1 to t is : JtVA EXAMPLES
Reversed strBuf3 : b
22
البناء والمناهج والتوارث المختبر الثالث:
أوال :أهداف المختبر:
تم إعداد هذا المختبر لتمكين الطلبة:
.1التعرف على الصنف وعمليات المختلفة.
.2أن يسلللتخدم الطاللللب المنلللاهج بخصائصلللها وأدواتهلللا المختلفلللة فلللي كتابلللة حللللول لمسلللائل رياضلللية
وتطبيقية منوعة.
.3أن يتعللرف الطالللب علللى الصللنف الفرعللي الللذي يللرث الصللنف األساسللي ويوظللف ذلللك فللي برنللامج
تطبيقي.
ثانيا:
.1البرنامج األول :تأمل البرنامج التالي وقم بطباعت وتنفيذه على احد مترجمات جافلا والحلظ النتلائج
عند استدعاء المناهج:
} ;balance += amount
23
// See if amount can be withdrawn
balance -= amount;
return amount; }
else
return 0.0; }
return balance; }}
class AccountDemo {
// Deposit money
my_account.deposit(250.00);
my_account.getbalance());
// Withdraw money
my_account.withdraw(80.00);
my_account.getbalance()); }}
24
(البناء االفتراضي والبناء الذي يأخذ عدة معامالت أو معامل واحد). .1مفهوم البناء بأنواع
.2مفهوم المنهج وأنواع ( الذي يمرر معامالت أو ال يمرر ،يعيد قيمة أو ال يعيد قيمة... ،الخ).
ناتج البرنامج:
. 2البرنامج الثاني:
اكتب البرنامج الالزم الستدعاء المنهج الالزم إليجاد الجذر ألتربيعي لألعداد ملن ( 55-5اسلتخدم المنلاهج
في الصنف .)Math
;))System.out.println(Math.sqrt ((double)i
}
;)(getsqrtoot }}
المخرجات:
2.23606797749979
2.449489742783178
25
2.6457513110645907
2.8284271247461903
3.0
……………….
6.782329983125268
6.855654600401044
6.928203230275509
7.0
7.0710678118654755
تأمللل البرنللامج التللالي وقللم بطباعت ل وتنفيللذه علللى احللد مترجمللات جافللا والحللظ خاصللية:البرنللامج الثالللث
:التوارث
class Box {
double width;
double height;
double depth;
Box() {}
width = w;
height = h;
depth = d; }
void getVolume() {
double weight;
26
MatchBox() { }
super(w, h, d);
weight = m; }
mb1.getVolume();
:المخرجات
Volume is : 1000.0
ينفذ الطالب البرنامج ويالحظ النتائج ويقوم بإنشلاء برنلامج شلبي حلول إنشلاء صلنف ملن أي نلوع
يقلوم الطاللب،يختاره ويطبق مفلاهيم الوراثلة والبنلاء واالسلتدعاء للمنلاهج وانشلاء مثليالت الصلنف
.بإرسال قيم مختلفة عند االستدعاء ومالحظة النتائج
27
محددات الوصول للمتغيرات+ parsing + استخدام عدة صناديق حوار :المختبر الرابع
: أهداف المختبر:أوال
:تم إعداد هذا المختبر لتمكين الطلبة
. التعرف على الصنف ومحددات الوصول إلي المختلفة.1
: عزيزي الطالب:ثانيا
نفذ البرنامج التالي باستخدام احد مترجمات جافا والحظ النتائج التي تظهر كما هو وارد أسفل
:البرنامج
// Addition.java
// An addition program.
firstNumber =
28
JOptionPane.showInputDialog( "Enter first integer" );
secondNumber =
JOptionPane.showMessageDialog(
JOptionPane.PLAIN_MESSAGE );
نفذ البرنامج التالي باستخدام احد مترجمات جافا والحظ النتائج التي تظهر كما: عزيزي الطالب
) ( البرنامج تطبيق حول أنواع محددات الوصول للمتغيرات:هو وارد أسفل البرنامج
byte largestByte=Byte.MAX_VALUE;
29
StaticClass b = new StaticClass();
a.vat=17.0; b.x=13;
System.out.println(a.vat+","+ b.vat);
System.out.println(a.x+","+ b.x);
x=15; a.x=10;b.x=20;
:المخرجات
1..5,14.5
13,13
25,25,25
30
والمقارنة بينها وبين البرامج التطبيقيةApplets :المختبر الخامس
: أهداف المختبر:أوال
:تم إعداد هذا المختبر لتمكين الطلبة من
.التعرف على أنواع البرامج في لغة جافا .1
.Applets المقارنة بين البرامج التطبيقية في لغة جافا والبرامج من نوع .2
. في كتابة طباعة مخرجات تظهر في نافذة رسوميةApplets توظيف .3
.Applet المرافق لتطبيقhtml متابعة ملف .4
: عزيزي الطالب:ثانيا
:نفذ البرنامج التالي واحصل على النتائج كما هو موضح أسفل البرنامج .1
// WelcomeApplet2.java
super.paint( g );
المخرجات
31
يالحظ الطالب المكونات األساسية للبرنلامج ملن نلوع Appletواسلتبدال الملنهج mainبلالمنهج
،paintكملا يوجل انتبلاه الطاللب إللى المللف htmlاللذي يظهلر فلي نافلذة المتلرجم ومكوناتل كملا
يلي:
><html
><head
></head
>"<body bgcolor="000000
><center
<applet
"width = "500
"height = "300
>
></applet
></center
></body
></html
.2تأمل عزيزي الطالب البرنامج التالي الذي يعمل على طباعة مضاعفات العدد 2في نافذة
،Appletباستخدام جملة التكرار (الحظ المخرجات أسفل البرنامج) :
;*import java.awt.
;*import java.applet.
32
{ )public void paint(Graphics g
;)g.drawString("Welcome to Java!!",30,20
إلى األحمر . عزيزي الطالب ،قم بتغيير لون نافذة االبليت إلى اللون األزرق ،ولون الن
ارسم شكال هندسيا متوازي المستطيالت أسفل مضاعفات العدد . 2
33
تطبيق مهارات أساسية في جافا المختبر السادس:
أوال :أهداف المختبر:
تم إعداد هذا المختبر لتمكين الطلبة من:
استخدام المفاهيم األساسية في لغة جافا لكتابة برامج تطبيقية منوعة. .1
ثانيا :عزيزي للطالب:
.1اكتب برنامج يقوم باحتساب العدد األكبر بين ثالثة أعداد ( استخدم مفهوم المنهاج)؟
;int a, b, c
;a=e
;b=f
;c=g }
;int d
)if (a>b
;d=a
else
;d=b
)if (c>d
;d=c
34
com c1 = new com(104,16,54);
:(Dialog box) اكتب برنامج لحساب مساحة الدائرة واستخدم صندوق الحوار.2
import javax.swing.*;
area = r2*r1;
b.append (a.charAt(i));}
System.out.println(b.toString());}}
35
استخدام جمل التشعبات والتحكم المختبر السابع:
أوال :أهداف المختبر:
تم إعداد هذا المختبر لتمكين الطلبة من:
استخدام جمل التشعبات المختلفة في برامج منوعة. .1
البرنامج ،ثم الحظ النتائج التي تظهر كما هو وارد أسفل البرنامج:
;import javax.swing.JOptionPane
;continue
}
}}
المخرجات:
36
break نفللذ البرنللامج التللالي باسللتخدام احللد مترجمللات جافللا والحللظ تللأثير جملللة:عزيللزي الطالللب .2
import javax.swing.JOptionPane;
{int array[]={1,2,3};
xyz:
switch(array[i]) {
case 1: System.out.println("Once");break;
case 3: System.out.println("Chance");}}}}
:المخرجات
Once
More
عناصللر مصللفوفة علللى شللكل أعمللدة باسللتخدام صللندوق تأمللل البرنللامج التللالي الللذي يقللوم بعللر .3
:الحوار
import javax.swing.*;
int array[] = { 32, 27, 64, 18, 95, 14, 90, 70, 60, 37 }; // dynamically allocate array
37
// append each array element's value to String output
outputArea.setText( output );
JOptionPane.INFORMATION_MESSAGE );
System.exit( 0 ); } }
38
استخدام الواجهات والحزم المختبر الثامن:
أوال :أهداف المختبر:
تم إعداد هذا المختبر لتمكين الطلبة من:
التعرف على الواجهة كمفهوم بياني جديد. .1
{ interface Animal
} ;)"System.out.println("Mammal eats
} ;)"System.out.println("Mammal travels
} ;return 0
;)(m.eat
39
m.travel(); }}
:النتائج
Mammal eats
Mammal travels
: والحظ استخدام مناهج الواجهة واعادة تعريفها من جديد،أطبع البرنامج التالي وارصد النتائج .2
interface Shape {
static int x, y;
public Point() {
x = 5;
y = 10;
return 0; }
return 0; }
p.print();
40
double w=p.area();
double v=p.volume();
:المخرجات
point: 5,10
41
برمجة االستثناءات المختبر التاسع:
أوال :أهداف المختبر:
تم إعداد هذا المختبر لتمكين الطلبة من:
التعرف على االستثناءات كمفهوم جديد في جافا. .1
.1أطبع البرنامج التالي في احد مترجمات جافا وقم بتنفيذه ،والحظ استخدام االستثناءات فلي عمليلة
القسمة لتفادي القسمة على صفر (مثال تطبيقي القسمة على صفر):
;int z =x/y
{ try
}}
المخرجات:
42
there is an error,,,,can't divide
الحللظ تنفيللذ جمللل االسللتثناء عنللد،نفللس المثللال السللابق ولكللن تللم اسللتدعاء المللنهج أكثللر مللن مللرة .3
:االستدعاء الثاني للمنهج وعدم تنفيذ جملة االستدعاء الثالث
float a;
float b;
float r;
if (b==0){
r=a/b;
return r; }
System.out.println("Hello World!"+EX1.div1(45,3)); }
}}}
:المخرجات
invalid number
43
برمجة اإلدخال واإلخراج :المختبر العاشر
: أهداف المختبر:أوال
:تم إعداد هذا المختبر لتمكين الطلبة من
.تعرف أساسيات اإلدخال واإلخراج في جافا .1
.Console كتابة برامج تطبيقية منوعة فيها عمليات القراءة والكتابة للـ .2
: عزيزي الطالب:ثانيا
:مثال تطبيقي لتعريف ملف نصي والكتابة باستخدام مناهج أصناف الكتابة .1
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.File;
import java.io.Writer;
import java.io.FileNotFoundException;
import java.io.IOException;
try {
writer.write(text);
} catch (FileNotFoundException e) {
44
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (writer != null) {
writer.close();}
} catch (IOException e) {
e.printStackTrace();}}}}
في الملفThis is a text file وطباعة النwrite.txt ينتج من تنفيذ هذا البرنامج إنشاء ملف
.writer.write(text) باستخدام المنهج
write.txt الذي تم تخزين في الملف النصيThis is a text file مثال تطبيقي لقراءة الن .2
: في التطبيق األول
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileNotFoundException;
import java.io.IOException;
try {
45
reader = new BufferedReader(new FileReader(file));
contents.append(text)
.append(System.getProperty(
"line.separator"));}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (reader != null) {
reader.close();}
} catch (IOException e) {
e.printStackTrace();}}
System.out.println();
System.out.println(contents.toString());}}
مقررات وحساب الوسلط الحسلابي( البرنلامج يوضلح5 مثال تطبيقي لقراءة اسم طالب وعالمت في .3
:)BufferedReader االستثناءات وبرمجة اإلدخال باستخدام الصنف
import java.io.BufferedReader;
46
import java.io.IOException;
import java.io.InputStreamReader;
double grade;
g=br.readLine();
for(int i=0;i<grades.length;i++)
grade=Double.parseDouble(br.readLine().toString());
grades[i]=grade;
}catch(Exception e){
i--;}
double sum=0.0;
sum+=grades[i]; } System.out.println("name="+g);
System.out.println("Average="+sum/grades.length);}}
47
Multithreading المختبر الحادي عشر:
أوال :أهداف المختبر:
تم إعداد هذا المختبر لتمكين الطلبة من:
إنشاء وتعريف القنوات المتعددة .1
التعامل مع القنوات المتعددة والتعرف على مشكلة التزامن وكيفية حلها. .2
تمكين الطالب من تحويل صنف إلى صنف قناة. .3
ثانيا:عزيزي الطالب:
أطبع البرنامج التالي في احد مترجمات جافا وقم بتنفيذه ،والحظ استخدام تعدد القنوات ومناهج .1
.thread
class xyz implements Runnable
)for (i=1;i<5;i++
;){ System.out.print(i
}}}}{)try{Thread.sleep(1000);}catch(Exception e
class Th1
{
;)(a.start();b.start
}};)"System.out.print("X
48
class xyz implements Runnable
{ public void run()
{ int i;
for (i=1;i<6;i++)
{ System.out.print(i);
try{Thread.sleep(1000);}catch(Exception e){}}}}
class pqr implements Runnable
{ public void run()
{ xyz t;Thread c;
System.out.print("X");
try{Thread.sleep(3000);}catch(Exception e){}
System.out.print("Y");
t=new xyz();c=new Thread(t);c.start();}}
class kapil{
public static void main(String ar[])
{ xyz k;pqr g;Thread a,b;
k=new xyz();a=new Thread(k);
g=new pqr();b=new Thread(g);
a.start();b.start();}}
49
استخدام الواجهات الرسومية والحزم swing + awt المختبر الثاني عشر:
أوال :أهداف المختبر:
تم إعداد هذا المختبر لتمكين الطلبة من:
فتح نافذة داخل إطار رسومي. .1
اسللتخدام األشللكال الهندسللية (ثنائيللة البعللد وثالثيللة البعللد) ،واألللوان وأنلواع الخطللوط وتطبيقهللا فللي .4
واجهة رسومية.
;*import javax.swing.
;*import java.awt.
;*import java.awt.event.
;)a.setSize(600,600
;)a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE
;)a.setVisible(true }}
50
مثال تطبيقي حول استخدام األزرار واالستجابة لألحداث (يمكن اعتبلار البرنلامج تطبيلق عللى كافلة .2
: )مهارات جافا
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
51
pressme.addActionListener(this); // register button listener
if (source == pressme) {
answer.setText("Button pressed!");
:النتائج
الذي يوضلح عمليلة إدخلال علدد ملا وبعلد الضلغطActionListener مثال تطبيقي حول الواجهة .3
:على زر زيادة يتم زيادة دورية إلى حين الضغط على زر خروج من النافذة
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import javax.swing.JButton;
52
import javax.swing.JTextField;
import java.awt.Container;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
if(e.getSource() == incr) {
int i = Integer.parseInt(field.getText());
field.setText("" + (i + 1));
System.exit(0); } }
quitButton, numberField);
incrButton.addActionListener(listener);
quitButton.addActionListener(listener);
53
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
contents.add(incrButton, BorderLayout.NORTH);
contents.add(numberField, BorderLayout.CENTER);
contents.add(quitButton, BorderLayout.SOUTH);
frame.pack();
frame.setVisible(true); } }
حللاول عزيللزي الطالللب إجلراء التعللديالت علللى نافللذة المخرجللات(تغيير نللوع الخللط للنصللو
.) إلى يسار الشاشةQuit وتغيير موقع زر
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
// set up GUI
public LabelTest(){
54
Container container = getContentPane();
container.add( label1 );
// alignment arguments
bug, SwingConstants.LEFT );
container.add( label2 );
label3.setIcon( bug );
label3.setHorizontalTextPosition( SwingConstants.CENTER );
label3.setVerticalTextPosition( SwingConstants.BOTTOM );
container.add( label3 );
// execute application
55
public static void main( String args[] ){
application.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE );}
:في النافذة مع طباعة ن،مثال تطبيقي لرسم أشكال هندسية بتعبئة وبدون تعبئة .5
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public LinesRectsOvals(){
super.paint( g );
g.setColor( Color.red );
g.setColor( Color.blue );
56
g.fillRect( 100, 40, 90, 55 );
g.setColor( Color.cyan );
g.setColor( Color.yellow );
g.setColor( Color.magenta );
g.setColor(Color.green);
// execute application
application.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE );}
57
: ومناهجJColorChooser مثال تطبيقي الستخدام الصنف .0
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
// set up GUI
public ShowColors2(){
container = getContentPane();
changeColorButton.addActionListener(
new ActionListener() {
color = JColorChooser.showDialog(
58
if ( color == null )
color = Color.lightGray;
container.add( changeColorButton );
super.paint( g );
// execute application
application.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE );}
59
:النتائج
عزيللزي الطالللب نفللذ: ورسللم أشللكال هندسللية داخل لJFrame مثللال تطبيقللي بسلليط علللى إنشللاء ..
: قم بتغيير أبعاد الكائنات الرسومية،البرنامج وارصد النتائج
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
j.setBackground(Color.BLUE);
j.setVisible(true);
60
j.setSize(200,400);
ContentPane.add(panel); }}
super.paintComponent(g);
g.setColor (Color.gray);
61
أمثلة تطبيقية منوعة :المختبر الثالث عشر
: أهداف المختبر:أوال
:تم إعداد هذا المختبر لتمكين الطلبة من
.تطبيق كافة األساسيات ومهارات جافا التي درسها في المقرر .1
اســتخدام عــدة مهــارات ومفــاهيم أساســية فــي تطبيــق برمجــي كامــل لحــل مســالة أو م ــكلة تواجه ـ فــي .2
.الحياة اليومية
: عزيزي الطالب:ثانيا
اكتب برنامج الالزم لتحويل من الدرجة الفهرنهاتية إلى الدرجة المئوية باستخدام مهارات الواجهلات.1
:الرسومية
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import java.awt.Container;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
62
public void actionPerformed(ActionEvent e) {
if(e.getSource() == fahr) {
fahrPanel.add(new JLabel("Fahrenheit:"));
fahrPanel.add(fahrField);
celsPanel.add(new JLabel("Celsius:"));
celsPanel.add(celsField);
fahrField.addActionListener(listener);
celsField.addActionListener(listener);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
contents.add(fahrPanel, BorderLayout.NORTH);
63
contents.add(celsPanel, BorderLayout.SOUTH);
frame.pack();
frame.setVisible(true); } }
( كما فيJFrame) في نافذة رسوميةok والزرhello world اكتب برنامج إلظهار الن.2
:الشكل التالي
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
super.paintComponent(g);
64
public void actionPerformed(ActionEvent e) {
System.exit(0); } }
okButton.addActionListener(listener);
content.setLayout(new BorderLayout());
content.add(displayPanel, BorderLayout.CENTER);
content.add(okButton, BorderLayout.SOUTH);
window.setContentPane(content);
window.setSize(250,100);
window.setLocation(100,100);
window.setVisible(true); } }
تظهر في خطوط ومتوازي مستطيالت (بعدة أبعاد تختارها أنتApplet اكتب برنامج إلنشاء.3
:وبتعبئة وبدون تعبئة لمتوازي المستطيالت) حسب الشكل التالي
65
: احد الحلول المقترحة
import java.awt.*;
import java.applet.*;
setBackground (Color.black);
setForeground(Color.green); }
66
g.fillRect(100, 10, 60, 50);
بحيث يكون لدي القدرة عللى التمييلز بلين البلرامج التطبيقيلةinit والمنهجpaint يالحظ الطالب المنهج
. قي لغة جافاApplet وبرامج
Programming Language اكتب برنامج بلغة جافا إليجاد عدد مرات تكرار الحرف في ن.4
التعداد يشمل تكرار الحرف الكبير أو الصغير؟،String يتم إسناده داخل البرنامج إلىJava
int charCount = 0;
char c=(char)j;
charCount++; } }
:المخرجات
67
count of character D or d on String:0
68
:اكتب برنامج بلغة جافا إلظهار النافذة التالية .5
import javax.swing.*;
FrameSimple () {
frame1.setLocation(10,20);//x and y
frame1.setVisible(true);
frame1.setResizable(true); }
69
FrameSimple app=new FrameSimple (); }}
int i = 7;
int j = -9;
double x = 72.3;
double y = 0.34;
70
System.out.println(y + " is approximately " + Math.round(y));
// ceiling.
// Comparison operators
71
System.out.println("max(" + i + "," + j + ") is " + Math.max(i,j));
// of useful constants:
// Trigonometric methods
// to the power of a.
72
System.out.println("exp(0.0) is " + Math.exp(0.0));
// logarithm (base e) of a.
System.out.println(
:المخرجات
j is -9
x is 72.3
y is 0.34
|7| is 7
73
|-9| is 9
|72.3| is 72.3
|0.34| is 0.34
72.3 is approximately 72
0.34 is approximately 0
min(7,-9) is -9
min(72.3,0.34) is 0.34
min(7,72.3) is 7.0
min(0.34,-9) is -9.0
max(7,-9) is 7
max(72.3,0.34) is 72.3
max(7,72.3) is 72.3
max(0.34,-9) is 0.34
Pi is 3.141592653589793
e is 2.718281828459045
cos(0.7853981633974483) is 0.7071067811865476
sin(0.7853981633974483) is 0.7071067811865475
74
acos(0.707) is 0.7855491633997437
asin(0.707) is 0.785247163395153
atan(0.707) is 0.6154085176292563
exp(1.0) is 2.7182818284590455
exp(10.0) is 22026.465794806718
exp(0.0) is 1.0
log(1.0) is 0.0
log(10.0) is 2.302585092994046
log(Math.E) is 1.0
75
اكتب برنامج بلغة جافا الظهار النافذة التالية والتي تقوم باستقبال رقمين ثم اظهار ناتج الجمع في..
:Applet نافذة
import java.awt.*;
import java.applet.*;
TextField T1,T2;
T1 = new TextField(10);
T2 = new TextField(10);
add(T1);
add(T2);
T1.setText("0");
T2.setText("0"); }
int a, b, result;
String str;
76
g.drawString("Enter Number in TextField to Find addition of 2 No ",10,50);
g.setColor(Color.red);
str=T1.getText();
a=Integer.parseInt(str);
str=T2.getText();
b=Integer.parseInt(str);
result=a+b;
showStatus("Addition of 2 Numbers"); }
repaint();
return true; }}
77
ملحق 1
78
أوال :صندوق التعليمات الملُسلاعدة للمستخدم:
79
إلنشلاء برنامج جديد:
األولى.
80
الكود البرمجي من األخطاء: لفح
المشروع و في حال وجد أخطاء برمجيلة يقوم بإظهارها في صندوق حيث يتم فح
األخطاء في أسفل الشاشة.
81
لفتح ملف من الملفات التي تم
التفاعل معها مؤخرا.
82
ملحق 2
83
ومتعلددة المنصلات تصللح لعلدد كبيلر ملن التطبيقلات .ومتلرجم جافلا يقلوم لغة جافا هي لغة متعلددة األغل ار
بإنتاج ملفات في شكل byte codeوهو يختلف عن الملفات التنفيذية التي تنتج عن لغات البرمجة األخلر
مثلل سلي وباسلكال .وتحتلاج البلرامج المكتوبلة بلغلة جافلا إللى منصلة فلي أنظملة التشلغيل المختلفلة لتلتمكن
تسلمى آللة جافلا االفتراضلية .Java Run-timeأو
برامجهلا ملن العملل فلي هلذه األ نظملة .وهلذه المنصلة ُ
JVMأو إختصا ار بل. Java Virtual Machine
تتوفر هذه المنصة في عدد كبير من أنظمة التشغيل ،وقبل تشغيل برنلامج جافلا البلد ملن التأكلد ملن وجودهلا .
وكل نظام تشغيل يحتاج آللة افتراضية خاصة ب .مثال نظام ويندوز 32بت يحتلاج آلللة افتراضلية مخصصلة
لويندوز 32بت ،وويندوز 64بت يحتاج آللة افتراضية 64بت .وهكذا
مثال السم ملف لتثبيت آلة جافا االفتراضية لنظام ويندوز 64بت:
Jdk-6u16-windows-x64.exe
يسمى جافا. 6
يمثل نسخة جافا 1.6أو ما ُ
وهو ُ
وهذه اسم حزمة تحتوي على اآللة االفتراضية لجافا 7لنظام أوبونتو 32بت:
Openjdk-7-jre
يعتبر Netbeansمن أفضل أدوات التطوير للغة جافا ،وقد تمت كتابتها باستخدام لغة جافا نفسها بواسطة
شركة أوراكل صاحبة تلك اللغة.
يمكن استخدام هذه األداة لتطوير برامج بلغات برمجة أخر غير الجافا مثل برامج phpو ،c++توجد أداة
ُ
تطلوير أخلر مشلهورة و هلي ، Eclipseوهلي أخلف وأسلرع ملن أداة التطلوير ، NetBeansوفيهلا إمكانيلة
لبرمجة األ ندرويد.
84
المكونات الرئيسية لنافذة NetBeans IDE
85
إضافة فواصل إلى برنامجك NetBeans IDE
86
ملحق 3
87
نختار ربط برنامج جافا بقاعدة البيانات ،Accessوذلك لتوفرها في برامج األوفليس للد الجميلع ،ويمكلن
أن يكون العمل في برنامج Net Beansأو أي برنامج آخر باإلضافة إلى برنامج األكسس.
نفرض أن لدينا قاعدة بيانات باسم DBوفيها جدول باسم ، Mousesكما في الشكل التالي: .1
آلن نفتح لوحلة اللتحكم Control Panelملن زر أبلدا ،بعلد ذللك نلذهب إللى System and .2
،Securityثم نختار ،Administrative toolsونفتح : )Data Source (ODBC
88
نضغط على زر addلكي نضيف قاعدة البيانات اللي النظلام ODBCويلتم التعلرف عليهلا ملن .3
خالل ،NetBeansبعد الضغط على زر ،addنقوم باختيار Microsoft Access Driver (*.mdb,
.)*accdb
89
نقلوم بكتابلة اسلم قاعلدة البيانللات واللذي سليكون كلرابط لقاعلدة البيانللات (االسلم يكلون محفلوظ فللي .4
ODBCوال يشترط أن يكون نفس اسم قاعدة البيانات األصلي) ،نقوم بتحديد مكلان قاعلدة البيانلات،بعلد
ذلك نضغط ،okاآلن تم إضافة قاعدة البيانات إلى .ODBC
نذهب إلى البرنامج الذي نريد توصيله بقاعدة البيانات، .5
اوالً :وسنعمل على طريقة استيراد جدول وإظهاره كامال .فيما يلي الخطوات التفصيلية:
نتقل إلى وضع ، Sourceونقوم باستدعاء المكتبة الخاصة بالتعامل مع ،;*Import java.sql ،SQLبعدد للد .1
نقوم بإضافة الدالة ( ) Methodالتالية :
90
وفيمللا يلللي شللرح لجمللل البرنللامج :نقللوم بتعريللف المتغيللر conليقللوم بللربط قاعللدة البيانللات التللي انشللأناها ،نقللوم .2
بتعريلللف المتغيلللر sqlليقلللوم بتنفيلللذ جملللل االسلللتعالم ،نقلللوم بتعريلللف المتغيلللر ، searchنعلللرف المتغيلللر rsلحفلللظ نتلللائج
االستعالم (البيانات ) ،نقلوم بإنشلاء الداللة ،connDBنسلتخدم try – catchللتحلذير ملن وجلود أي خطلأ Class ،هلي
مكتبة خاصة بلغة الجافا و forNameهي خاصية تابعة في الكالس نستخدمها لتقوم باستدعاء JBDCلتلتم عمليلة ربلط
الجافا بقاعدة البيانات ،االتصال بقاعدة البيانات عن طريق الرابط DBالذي انشأناه ،إنشاء جمل االستعالم وتطبيقها داخلل
المشروع ،تنفيلذ جملل االسلتعالم المطلوبلة ،تقلوم بإنشلاء نافلذة لكلي تتأكلد أن االتصلال قلد تلم بنجلاح ،نعلرف مخلزن للجلدول
وحيللث أن الجللدول ال يللتم تعبئتل إال عللن طريللق مصللفوفة والمصللفوفة تأخللذ البيانللات مللن DBوتقللوم بتعبئللة الجللدول ،نجعللل
الجدول يأخذ بيانات من ،dtmنضيف عمودين ف dtmوالذي سلينقل البيانلات إللى الجلدول ونسلمي األول IDوالثلاني
،Brandبعللد جلللب البيانللات مللن DBوحفظهللا فللي ، rsإذا كللان هنالللك سللطر تللالي نفللذ اآلتللي ،يقللوم بالبللدء مللن الصللف
األول ،يقوم بإنشلاء تكلرار إلدخلال البيانلات فلي ،dtmيقلوم بلالرجوع إللى الصلف األول ،إذا كانلت DBخاليلة فسليتم إبقلاء
الحقول المحددة خالية ،في حال وجود خطأ ,سيتم إظهار رسالة مبينة الخطأ ،ثم أخيراً الخروج من البرنامج.
كود الزر : Connectعند الضغط عليه يتم استدعاء الدالة connDBوبدأ االتصال بقاعدة البيانات: .3
91
كددددود الددددزر : Search:فددددي حالددددة أن المسددددتخدم يريددددد البحددددي فددددي الجدددددول يقددددوم بالكتابددددة فددددي الحقددددل .4
JTextField3وتنفيذ المتغير ،Searchأما إلا كان الحقل فارغ فإن المتغير Searchيكون فارغا.
92
كود زر > :لعرض الصف السابق .7
93
كود زر :Newإلضافة عمود جديد: .9
94
كود زر :Deleteلمسح أي صف من صفوف الجدول .11
95
ستكون الدالة connDBبهذه الطريقة:
يتم في هذه الدالة تغيير قيمة المتغير rsحيث سيقوم بجلب فقط عمود واحد فقط وهو BRAND
96
:مثال تطبيقي لربط قاعدة البيانات
import java.sql.*;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:DB");
if(con!=null)
catch(SQLException sqle) {
System.out.println(sqle.getMessage()); }
catch(ClassNotFoundException cnfe){
System.out.println(cnfe.getMessage()); } }
try {
if(con != null)
con.close(); }
catch(SQLException sqle) {
97
System.out.println(sqle.getMessage()); } }
try{
selectStatement = con.createStatement();
selectResult = selectStatement.executeQuery(query);
System.out.println("Query results\n");
while(selectResult.next()) {
System.out.println(selectResult.getString("Names")+
"\t"+selectResult.getString("Number")+
"\t"+selectResult.getString("Score")); }
selectResult.close(); }
catch(SQLException sqle){
System.out.println(sqle.getMessage()); } }
sq.connectToDB();
sq.processBooksQuery();
sq.closeDB(); } }
98
مثال تطبيقي آخر على قواعد البيانات:
99
ملحق 4
إصدارات وأدوات لغة وبيئة جافا
100
JDK Versions
1. JDK 1.02 (1995)
2. JDK 1.1 (1996)
3. JDK 1.2 (1998)
4. JDK 1.3 (2000)
5. JDK 1.4 (2002)
6. JDK 1.5 (2004) a. k. a. JDK 5 or Java 5.
JDK Editions
J2EE can be used to develop server-side applications such as Java servlets and
Java ServerPages.
J2ME can be used to develop applications for mobile devices such as cell
phones.
101
جدول المحتويات
رقم الصفحة الموضوع الرقم
2 مقدمة في لغة جافا .1
10 المختبر األول .2
11 المختبر الثاني .3
102
23 ملحق :2إرشادات استخدام محرر البرمجة .10
NetBeans
103