قائمة البرمجة > لغة Java

مقدمة عن الأبليت Java Applet

الكاتب:



السلام عليكم و رحمة الله و بركاته.

اقوم اليوم بطرح الدرس الثالث لي في الجافا.

درسنا اليوم عن:
ما هو ال applet
كيفية استيراد import لل classes و الحزم packages
كيفية تعريف ال subclass لل applet
كيفية تنفيذ ال applet methods
كيفية تشغيل ال applet

أولا:
نتعرف هنا على ال applet, لقد رأينا في دروس سابقة ال applet و لكننا نتسائل ما هو. ال applet هو برنامج ينفذ مجموعة من الاوامر التي تسمح له بأن يعمل على متصفح يدعم لغة الجافا.
سنرى في المثال اللاحق برنامج applet

import java.applet.Applet;
import java.awt.Graphics;

public class HelloWorld extends Applet {
public void paint(Graphics g) {
g.drawString("Hello world!", 50, 25);
}
}

ثانيا:
نتعرف هنا على كيفية عمل استيراد import لل classes و الحزم packages.

ان اول سطرين في المثال اللاحق هما لاستيراد اثنان من ال classes المستعملات في ال applet, و هما Applet و Graphics.

import java.applet.Applet;
import java.awt.Graphics;

public class HelloWorld extends Applet {
public void paint(Graphics g) {
g.drawString("Hello world!", 50, 25);
}
}


اذا ابعدنا هذان السطران فأننا نستطيع تشغيل البرنامج و لكن بشرط ان نغير الكود الى هكذا.

public class HelloWorld extends java.applet.Applet {
public void paint(java.awt.Graphics g) {
g.drawString("Hello world!", 50, 25);
}
}


كما رأينا, ان عملية استيراد ال Applet و ال Graphics تمكن البرنامج من الرجوع اليهم بدون ان يكون هناك تعريف لهم في بداية البرنامج. ال java.applet. و ال java.awt. تخبر المترجم compiler في اي حزمة package يجب ان يبحث عن Applet و Graphics.

ان كل من java.applet و java.awt هما packages, و هما جزء من ال API و الذي يوجد في كل بيئة جافا.

ان ال package (java.applet) يحتوي على ال classes الضرورية لل applet.

ان ال package (java.awt) يحتوي على ال classes المستعملة في AWT و التي تستعمل لعمل الواجهة الرسومية لبرامج الجافا GUI.

نتسائل هنا عن الدرس السابق عندما تكلمنا عن ال System class و انه لا يحتاج الى import, السبب هنا ان ال System class هو جزء من حزمة ال java.lang, و كل شيء ضمن هذه الحزمة يستورد اوتوماتيكيا الى كل برنامج جافا.

لقد تكلمنا عن استيراد classes محددة من داخل ال packages, و لكن الان نتكلم عن استيراد ال package كاملة و ليس class بعينه.

import java.applet.*;
import java.awt.*;

public class HelloWorld extends Applet {
public void paint(Graphics g) {
g.drawString("Hello world!", 50, 25);
}
}


في لغة الجافا كل class موجود ضمن package, و سوف نتكلم عن كيفية انشاء ال packages في دروس اخرى قادمة.

ثالثا:
نتعرف هنا على كيفية تعريف ال subclass لل applet.

ان اول سطر عريض bold في المثل اللاحق, يبدأ بتعريف HelloWorld class.

import java.applet.Applet;
import java.awt.Graphics;

public class HelloWorld extends Applet {
public void paint(Graphics g) {
g.drawString("Hello world!", 50, 25);
}
}


ان معنى كلمة extends في هذا البرنامج ان HelloWorld هو subclass من ال class الذي يليه Applet.

رابعا:
نتعرف هنا على كيفية تنفيذ ال applet methods.

ان السطور العريضة في المثال اللاحق تعرف ال paint method.

import java.applet.Applet;
import java.awt.Graphics;

public class HelloWorld extends Applet {
public void paint(Graphics g) {
g.drawString("Hello world!", 50, 25);
}
}


يجب على كل applet ان يعرف على الاقل واحد او اكثر من هذه ال methods (init,start,paint).

لنعود الان الى شرح الكود السابق, لقد ادخلنا ال Graphics الى ال paint method و معنى هذا اننا سنحصل على صورة او نص على شاشة المتصفح.

ان اول argument من Graphics هو drawstring method و الذي سيقوم برسم النص على الشاشة, ال argument الثاني و الثالث هما (x,y) وهو موقع النص, اي الطرف الايسر السفلي من النص.

خامسا:
نتعرف هنا على كيفية تشغيل ال applet.

نرى في كود صفحة ال html رابط ال applet الذي نقوم بادراجه لكي نستطيع تشغيله على المتصفح.

<HTML>
<HEAD>
<TITLE>A Simple Program</TITLE>
</HEAD>
<BODY>
Here is the output of my program:
<APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=25>
</APPLET>
</BODY>
</HTML>


ان الكود الذي قمنا بادراجه عمله ان يوجه المتصفح الى البحث عن الملف HelloWorld.class في نفس ال folder الذي يحتوي على صفحة ال html و يقوم بتشغيله, فيحتفظ المتصفح بنسخة عن ال class في ذاكرته للاستخدام اللاحق.



ملاحظة: ارجو منكم كتابة الكود بحروفه كما هي دون تعديل لأن لغة الجافا حساسة لحالة الاحرف, مثلا: HelloWorldApp ليست مثل helloworldapp.


شكراً على حسن انتباهكم لي و اتمنى أن تحوز مشاركاتي على رضاكم.

اخوكم JAVA XMAN.