Java Applet
Java Applet
ًا ؾن
ش بىة الإهرتهت واملشِور ؾن ًغة خافا أهنا ثـد برامج ً إلهرتهت وًىن غري املشِور أًض ًا أهنا ثوفر نثري من هلاط اًلوة يف اإؿداد أي
ثعبَق سواء مىذيب DISKTOPأو خاص ابًش باكت CLIENTSERVER.
برانمج اجلافا ُ Java Applet:و برانمج خافا ًمت جشغَهل ؿىل أداٍ جسمى appletviewerأو أي مذطفح ً إلهرتهت.
واش هتر اًرمس يف اجلافا ابهدراخة حتت اًـ ،Java Appletويف احللِلة أهَ ابإماكهيا اًرمس ابجلافا أ ًي اكن هوع اًربجمة اًيت وس خخدهما
اًـــ ُ appletو برانمج خافا مىذوب تطورة مـَية جتـهل كات ًل ٌَخضمني داخي ضفحات " " HTMLويه اإحدى أشِر وأسِي
اًخلٌَات املس خخدمة ًربجمة ضفحات الإهرتهت .ؾيد فذح ضفحة ً HTMLمت حتمَي ال appletؿىل اًطفحة وجشغََِا ،مما ميىن
الإهرتهت من الاس خفادة من مجَؽ مزاي ًغة خافا وٌسِي ثداول واهدشار برامج خافا تني ؿدد هبري من املس خخدمني.
oال تحتوى تطبٌقات الجافا أبلٌت على الدالة الرئسٌة mainو التى ٌجب توافرها فى التطبٌقات القٌاسٌة.
الجافا أبلٌت هى فئة جافا التً تمتد اًعبلة java.applet.Applet o
ٌتم تصمٌم تطبٌقات الجافا أبلٌت لتكون جزءا ال ٌتجزأ داخل صفحة HTML o
عند عرض صفحة HTMLالتى تحتوى على تطبٌق جافا أبلٌت ٌتم تحمٌل التعلٌمات البرمجٌة للتطبٌق لجهاز o
المستخدم.
oالبد من توافر JVMلعرض تطبٌقات الجافا أبلٌت و ٌ JVMمكن أن ٌكون إما فً مستعرض الوٌب أو نظام
التشغٌل.
ًيك ًعَق ؿىل برانمج مـني ، appletجية أن حرث اًفئة اًيت ًمت ثـرًفِا خطائص اًفئة ، JAppletوُذٍ اًفئة موحودة يف احلزمة
"ُ " javax.swingذٍ اًفئة حتخوي ؿىل دوال ثؤدي وػائف مـَية وميىن اإؿادة ثـرًفِا تداخي اًربانمج .فامي ًًل اسٌلء ُذٍ ادلوال
واس خخداماهتا.
ادلاةل " : " initيه أول داةل ًمت ثيفِذُا ثَلائَا يف اًربانمج ،حِر ل حيخوي ال appletؿىل داةل رئُس َة "main
" جس خخدم ًخـرًف اًاكئيات اًيت حيخاهجا اًربانمج ،ووضؽ اًلمي الاتخدائَة وإاؿداد اًشاشة وغريُا.
ادلاةل " ً :" startبدأ ثيفِذُا ثَلائَا تـد ادلاةل )( ، initوحتخوي ؿىل اًخـَاميت اًلزمة ًدشغَي اًربانمج اذلي مت
اإؿدادٍ وجتِزيٍ يف ادلاةل initنٌل ًخىرر هداؤُا أًض ًا اإذا اهخلي املس خخدم من ضفحة الإهرتهت اًيت حتخوي ؿىل ال applet
اإىل ضفحة أخرى ؾن ظرًق راتط ً linkفرتة مث ؿاد اإٍهيا مرة أخرى.
ادلاةل " : " stopوجس خدؾى ُذٍ ادلاةل ثَلائَا ؾيد كِام املس خخدم من اخلروج من املخطفح حِر ؾيدما ًضغط
املس خخدم ؿىل راتط linkيف اًطفحةً ،مت ثيفِذ ما تداخي ُذٍ ادلاةل اإذا اكن ُياك ما ىرًد اإًلاف جشغَهل حلني ؾودة
املس خخدم اإىل ضفحة ال appletمرة أخرى .مث ًل أن ثوكف جشغَي مَف ضوت ؾيد الاهخلال اإىل ضفحة أخرى وهواضي
جشغَهل ؾيد ؾودة املس خخدم اإىل اًطفحة ؾن ظرًق ادلاةل "." start
ادلاةل " : " destroyو ٌس خخدم ُذٍ ادلاةل فلط ؾيد اإًلاف جشغَي املخطفح وىىذة تداخَِا ما ىرًد ثيفِذٍ ؾيد
اإغلق اًطفحة ،أي ؾيد ثوكف معي ال appletهنائَا ،مثي اإغلق املَفات اًيت كام تفذحِا اًربانمج وغريٍ.
ادلاةل " ُ : " paintذٍ ادلاةل ًمت اس خدؿاؤٍ ؿىل اًفور تـد ثيفِذ ادلاةل startونذكل يف أي وكت حيخاج ثعبَق
" "Appletلإؿادة رمس هفسَ يف املس خـرض .حِر جس خخدم ٌَوضول اإىل مجَؽ دول اًفئة "." Graphics
املوحودة يف احلزمة java.awtلإؿداد اًرسوم و الًوان ؿىل اًشاشة.
ٌحتوي الكالس appletعلى جمٌع خصائص ودوال الكالس ، JFrameوذلك إلن الغرض من الـ "" applet
هو ظهور التطبٌقات على صفحة اإلنترنت ،لذلك فهً مصممة أن تكون ، JFrameوهذا أكسبها الكثٌر من
الخصائص والدوال.
مق ابوشاء مرشوع خدًد ابًضغط ؿىل أًلوهة اإوشاء مرشوع. o
ىف املرتؽ احلوارى New java applicationمق توضؽ امس ٌَمرشوع وحدد املسار اذلى حرًد أن حتفغ فِة مرشوؿم .مث o
ثبند أن اخلَار create main classeغري وشط مث اضغط . finsh
مق ابًضغط دتي لكَم ؿىل اًلون source packagesمث كف ابملاوس ؿىل اًلون default packagesمث لكَم ميني o
ابملاوس مث Newمث Applet formو اإن مل ٍىن ُذا اخلَار حمخاح ىف اًلامئة أخرت الامر . other
ًخؼِر كل اًيافذة فبخرت مهنا Applet formمن خلل اًخوًة ". " Swing GUI forms o
مق توضؽ امس ٌَالكس اتََت. o
س خؼِر كل اًبًِة اًرسومِة و ىف اجلاهة الامين س خجد اًىثري من اًـيارص اًرسومِة اًىت كد رشحٌا هَفِة اس خخداهما ىف o
دروس ساتلة ميىٌم الان ثطممي واهجة ثعبَق اتََت اخلاضة تم .
مق تبٌاء أو حرمجة اًخعبَق ًَمت اإوشاء مَف jarمن خلل رشًط همام NetBeansو هضغط ؿىل زر clean and build o
أو زر buildفِذا أو ذاك ًلوم تـمََة تياء اًرشوع اىل مَف ثيفِذى . jar
أن ثعبَلات اجلافا أتََت ًمت جشغَهيا من خلل مس خـرض اًوًة دلًم و ابًخاىل ًىك ثلوم تدشغَي اجلافا أتََت جية ثضمني اًخعبَق
ىف ضفحة htmlابس خخدام اًومس ><appletحبَر ميىن املس خخدمني من رؤًة واًخفاؿي مؽ اًخعبَق.
مفثل ًو أوشبان اًخعبَق ًَ HelloWorldAppletمت جشغَي ُذا اًخعبَق ًمت نخاتة ضفحة htmlؿىل اًيحو اًخاىل:
<html>
<title>The Hello, World Applet</title>
<hr>
<applet code="HelloWorldApplet.class" width="320" height="120">
</applet>
<hr>
</html>
ثوفر اجلافا اإماكهَات رمس رفِـة املس خوى وجزء من ، Java2D APIواًشلك اًخايل ًوحض " " classesالساس َة ٌَرمس ابجلافا:
" : " Color Classحيخوي ادلوال methodsواًثواتت constantsاًيت متثي الًوان ابجلافا.
" :" Font Classحيخوي ادلوال واًثواتت constantsاًيت متثي اخلعوط يف اجلافا .
" : " FontMtrics Classحيخوي ادلوال methodsاًيت متثي مـَومات اخلعوط.
" : " Polygon Classحيخوي ادلوال methodsرمس املضَـات .
" : " Graphics Classحيخوي ادلوال ً methodsرمس اجلُمي ،اخلعوط ،املس خعَلت والشاكل الخرى .
"ٌ :" BasicStroke Classساؿد ؿىل حتدًد خطائص رمس اخلعوط .
" :" GradientPaint & TexturePaint Classesجساؿد ؿىل حتدًد خطائص ميء الشاكل ابلًوان واًيلوش .
" :" GeneralPath, Arc2D, Ellipse2D, Line2D, Rectangle2D & RoundRectangle2D Classesثـرف خمخَف
الشاكل زيائَة التـاد يف اجلافا "." Java2D Shapes
ًيك هبدأ ابًرمس ابجلافا ،لتد أو ًل من أن هفِم هؼام حماور الإحدازَات .
اًشاشة ما يه اإل هلط ثـرف لك هلعة ابًبىسي ، Pixelاًيلعة اًواكـة يف اًرهن اًشٌليل اًغريب (اًرهن اًـَوي الٌرس) يف اًشاشة
متثي هلعة الضي ( )0،0يف اجلافا .
اًيطوص والشاكل ثـرض ؿىل اًشاشة تخحدًد مواضؽ اإحدازَاهتا ،حِر أن وحدة اًلِاس يف احملاور ؿىل اًشاشة يه اًبىسي.
مىوانت اجلرافِىس واكئياثَGraphics Contexts & Graphics Object:
مىوانت اًرمس ابجلافا ثدِح ٌَمربمج اًخحمك برمس املـَومات ؿىل اًشاشة ،اكئيات فئة اجلرافِىس أو Graphics classحتوي دوال
" ٌَ " methodsرمس وحىوٍن اخلعوط والًوان وما اإىل ذكل .أي Appletىراٍ ٍرمس ؿىل اًشاشة فِو ٌس خخدم اكئن اًـ "
"Graphicsاملـروف " "gواذلي ميثي مذغري يف ، paint methodنذكل احلال ابًًس بة لي . Application
اًالكس Graphicsثـخرب هبايق الكسات اجلافا الكس جمردة " ، "abstract classويه ثًمتي اإىل awt classوفهيا أي زر سُبدو
مثي زر وًيدوز ؿىل هجاز وًيدوز ،زر مانيخوش ؿىل مكبَوحر مانيخوش.
املىوانت ٌَـ " " Component Classيه اًفئة الم لنرث اًفئات يف مىذبة java.awt.وًوخد هبا اًـ "" paint method
واًيت ثبخذ اكئن اًـ Graphicsمكخغري ًِ argumentا .
)public void paint (Graphics g
أن اكئن اجلرافِىس ً gـخرب اكئن ًفئة Graphicsاًيت ثدٌامغ مؽ أي هؼام جشغَيُ .ذا اًـ " " headerوس خخدمَ ٌَرمس مؽ اًـ "
" Java Applicationواًـ " " Java Appletؿىل اًسواء ،ملاذا؟!
لن اًالكس Componentيه الكس أساس َة غري مبارشة (ً )super classفئة JAppletوابًخايل فاإن لك اإماكهَات "
"Component classورزت اإىل فئة " ، " JAppletواًـ " " paint methodمـرفة يف فئة Componentويه اًيت
هخحدث ؾهنا .وُذا سبة اإماكهَة اًرمس يف اًـ Java Applicationواًـ " " Java Appletتيفس الدوات .
ملسح مجَؽ اًرسوم املوحودة ؿىل اًشاشة ٌَبدء ابًرمس من خدًدُ ،ياك داةل ثلوم هبذا اًغرض يهpublic void repaint ( ) :
واًيت تدورُا جس خدؾي داةل أخرى ثلوم فـََ ًا مبسح اًشاشة يهpublic void update (Graphics g) :
Method Parameters
Drawline(x1 , y1 , x2 , y2). : x1الاحدايث اًسُين ًيلعة تداًة اخلط.
رمس خط مس خلمي : y1الاحدايث اًطادي ًيلعة هناًة اخلط.
: x2الاحدايث اًسُين ًيلعة هناًة اخلط.
:y2الاحدايث اًطادي ًيلعة هناًة اخلط.
DrawRect(x , y , width , height). : Xالاحدايث اًسُين ٌَيلعة اًـَوًة اًُرسى ٌَمس خعَي.
FillRect(x , y , width , height).
رمس مس خعَي. : Yالاحدايث اًطادي ٌَيلعة اًـَوًة اًُرسى ٌَمس خعَي.
رمس مس خعَي ممخَئ. : Widthؾرض املس خعَي.
:Heightارثفاع املس خعَي.
Draw3DRect(x , y , width , height , : xالاحدايث اًسُين ٌَيلعة اًـَوًة اًُرسى ٌَمس خعَي
b).
Fill3DRect(x , y , width , height , : yالاحدايث اًطادي ٌَيلعة اًـَوًة اًُرسى ٌَمس خعَي.
b). Widthؾرض املس خعَي.
رمس مس خعَي زليث الاتـاد. Height :ارثفاع املس خعَي.
رمس مس خعَي ممخَئ زليث الاتـاد. b :مذغري من اًيوع امليعليً Booleanبخذ اًلمية true
ًَؼِر املس خعَي مرثفؽ اوًَ Falseؼِر املس خعَي مٌخفظ.
DrawOval(x , y , width , height). : Xالاحدايث اًسُين ٌَيلعة اًـَوًة اًُرسى ٌَمس خعَي
FillOval(x , y , width , height).
رمس شلك تَضاوي. اذلي ميس اًشلك اًبَضاوي.
رمس شلك تَضاوي ممخَئ : Yالاحدايث اًطادي ٌَيلعة اًـَوًة اًُرسى ٌَمس خعَي
اذلي ميس اًشلك اًبَضاوي.
: Widthؾرض اًشلك اًبَضاوي.
:Heightارثفاع اًشلك اًبَضاوي.
DrawArc(x , y , width , height , start : Xالاحدايث اًسُين ملرنز ادلائرة.
, angle).
FillArc(x , y , width , height , start : Yالاحدايث اًطادي ملرنز ادلائرة.
, angle).
: Widthؾرض ادلائرة.
: Heightارثفاع ادلائرة.
رمس كوس من دائرة.
: Startاًزاوًة اًيت ًبدأ مهنا رمس اًلوس ()060-0
رمس كعاع دائري ممخَئ.
: Angleكمية اًزاوًة واجتاٍ اًلوس ()060-060
R G B Colour
0 0 0 Black
255 255 255 White
255 0 0 Red
0 255 0 Green
0 0 255 Blue
255 255 0 Yellow
128 128 128 Gray