دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۴
  • مهر

جلسه ۳۴ : applet در جاوا

  • دسته‌بندی‌ها :
جلسه ۳۴ : applet در جاوا
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرنو کاربرانی که دوره کامل آموزش برنامه نویسی جاوا را دنبال می کنند. در این بخش قصد داریم تا شما را با یکی از کلاس ها و یا افزونه های جاوا که قابلیت اجرا در مرورگر وب دارد آشنا کنیم. این کلاس به نام applet (اپلت) شناخته شده است. یک برنامه اپلت یک برنامه جاوا است که در یک مرورگر وب اجرا می شود. یک اپلت می تواند یک برنامه کاربردی جاوای کاملا کاربردی باشد زیرا دارای تمام  API های ارائه شده در جاوا است. برای آشنایی با applet در جاوا و گرفتن پارامترهای applet در ادامه ی مباحث این بخش با ما همراه باشید.

      آشنایی با applet در جاوا

      در ادامه ی مباحث این آموزش برای  آشنایی با applet در جاوا  ما شما را با مفاهیم اولیه ی applet آشنا می کنیم.

      برخی از تفاوت های مهم بین یک اپلت و یک برنامه جاوا مستقل، از جمله موارد زیر وجود دارد:

      • یک اپلت یک کلاس جاوا است که کلاس java.applet.Applet را گسترش می دهد.
      • یک متد () main در یک اپلت فراخوانی نمی شود و یک کلاس applet متد () main را تعریف نمی کند.
      • اپلت ها در یک صفحه HTML جاسازی شده اند.
      • هنگامی که کاربر یک صفحه HTML را مشاهده می کند که شامل یک اپلت است، کد اپلت به دستگاه کاربر ارسال می شود.
      • یک JVM برای نمایش اپلت مورد نیاز است. JVM می تواند یک افزونه مرورگر وب یا یک محیط زمان اجرا جداگانه باشد.
      • JVM در دستگاه کاربر یک نمونه از کلاس اپلت را ایجاد می کند و در طول عمر اپلت روش های مختلفی را دنبال می کند.
      • اپلت ها دارای قوانین سختگیرانه امنیتی هستند که توسط مرورگر وب اجرا می شود.
      • سایر کلاسهای مورد نیاز اپلت را می توان در یک فایل بایگانی جاوا (JAR) دانلود کرد.

      چرخه ی فرآیند اجرای یک applet در جاوا

      چهار متد در کلاس اپلت، فریم ورکی را برای اجرای هر اپلت ایجاد می کند:

      • init :

      این متد برای هر مقدار اولیه برای اپلت مورد نیاز است.

      • start :

      این متد به صورت خودکار پس از فراخوانی مرورگر از متد init بدست می آید.

      • stop :

      این متد به صورت خودکار زمانی فراخوانی می شود که کاربر صفحه ای را که روی آن اپلت نشسته است را حرکت بدهد.

      • destroy :

      این متد تنها زمانی فراخوانی می شود که مرورگر به طور معمول بسته شود.

      • paint :

      بلافاصله پس از متد () start و همچنین هر زمان که اپلت باید خود را در مرورگر مجددا پرینت بگیرد، فراخوانی می شود.

      یک اپلت “Hello, World”

      در زیر یک اپلت ساده به نام HelloWorldApplet.java را ایجاد کرده ایم:

      مثال : 

      این موارد دستورات import کلاس ها را به کلاس اپلت ما منتقل می کند.

      • java.applet.Applet
      • java.awt.Graphics

      بدون اظهارات import  فوق، کامپایلر جاوا کلاس اپلت و گرافیک را که کلاس اپلت به آن اشاره می کند را تشخیص نمی دهد.

      کلاس applet

      هر اپلت دارای فرمت کلاس java.applet.Applet است. کلاس اپلت پایه متد هایی را که یک کلاس اپلت مشتق شده ممکن است تماس بگیرد تا اطلاعات و خدمات را از متن مرورگر به دست آورد را فراهم می کند.

      این متدها موارد زیر را انجام می دهد:

      • دریافت پارامترهای اپلت.
      • محل شبکه فایل HTML که حاوی اپلت باشد را دریافت می کنید.
      • محل شبکه در دایرکتوری کلاس اپلت را دریافت می کنید.
      • یک پیام وضعیت را در مرورگر چاپ می کنید.
      • یک تصویر را برمی دارید.
      • یک کلیپ صوتی را برمی دارید.
      • یک کلیپ صوتی پخش می کنید.
      • تغییر اندازه اپلت.

      علاوه بر این، کلاس اپلت اینترفیسی را فراهم می کند که بیننده یا مرورگر اطلاعات مربوط به اپلت را دریافت کرده و اپلت را کنترل می کند.

      کاربر ممکن است این اقدامات را انجام دهد:

      • درخواست اطلاعات در مورد نویسنده، نسخه، و کپی رایت اپلت.
      • درخواست توضیحاتی از پارامترهایی که اپلت به رسمیت می شناسد.
      • اپلت را ابتدایی کند.
      • نابود کردن اپلت.
      • نابودی اپلت را شروع کند.
      • اپلت را نابود کند.

      کلاس اپلت اجرای پیش فرض هر یک از این متد ها را فراهم می کند. این پیاده سازی ها ممکن است در صورت لزوم لغو شوند.

      دنبال کردن یک Applet

      یک اپلت ممکن است با جاسازی دستورالعملها در یک فایل HTML و مشاهده فایل از طریق یک مرورگر اپلت یا مرورگر جاوا فعال شود.

      تگ <applet> مبنای تعبیه یک اپلت در یک فایل HTML است.

      مثال زیر اپلت Hello World را فراخوانی می کند:

      مثال : 

      صفت کد تگ <applet> کلاس اپلت را اجرا می کند. عرض و ارتفاع نیز برای مشخص کردن اندازه اولیه پانل که در آن یک اپلت اجرا می شود، لازم است.

      دستورالعمل اپلت باید با یک تگ </ applet> بسته شود.

      اگر یک اپلت به پارامترها برسد، برای پارامترها می توان مقدار ها را با اضافه کردن برچسب های <param> بین <applet> و </ applet> منتقل کرد.

      مرورگر متن و تگ های دیگر که بین تگ های اپلت باشد را نادیده می گیرد.

      مرورگرهایی که در آن جاوا فعال نباشد تگ <applet> و </ applet> را پردازش نمی کنند. بنابراین، هر چیزی که بین تگ ها ظاهر می شود، مربوط به اپلت نیست، و در مرورگرهایی که جاوا ندارد قابل مشاهده است.

      برای مشخص کردنم کد جاوای اسکریپت شده نیز از تگ <applet> به عنوان نشان داده شده استفاده کنید:

      مثال : 

      اگر یک اپلت در یک پکیج غیر از پیش فرض قرار گیرد، پکیج نگهدارنده باید در ویژگی کد با استفاده از کاراکتر (.) برای جدا کردن اجزای بسته / کلاس مشخص شود.

      برای مثال:

      مثال : 

      گرفتن پارامترهای applet

      مثال زیر نشان می دهد که چگونه یک اپلت به پارامترهای تنظیم شده در سند پاسخ دهد.

      این اپلت یک الگوی شطرنجی سیاه و سفید و یک رنگ دوم را نمایش می دهد.

      رنگ دوم و اندازه هر مربع ممکن است به عنوان پارامتر اپلت درون سند مشخص شود.

      CheckerApplet پارامترهای آن را در متد ()init می گیرد. همچنین ممکن است پارامترهای آن را در متد ()paint پیدا کنید.

      مرورگر از متد ()init برای هر برنامه اپلت استفاده می کند.

      مرورگر، یک بار بلافاصله پس از بارگذاری اپلت، متد ()init را فراخوانی می کند.

      متد Applet.getParameter () پارامتر را با توجه به نام پارامتر (مقدار یک پارامتر همیشه یک رشته است) انتخاب می کند.

      در زیر ساختار CheckerApplet.java را ارائه کرده ایم:

      مثال : 

      در اینجا CheckerApplet شامل متد خصوصی () Init  و () ParseSquareSize است:

      مثال : 

      اپلت متد () parseSquareSize را برای پارامتر squareSize تجزیه می کند.

      متد () parseSquareSize از متد کتابخانه () Integer.parseInt ، که یک رشته را تجزیه می کند و یک عدد صحیح را به دست می دهد استفاده می کند.

      () Integer.parseInt یک خطا را هر وقت که آرگومانش نامعتبر باشد اجرا می کند.

      بنابراین متد ()parseSquareSize یک اپلت ورودی نامعتبر را اجرا نکرده و به جای آن خطایی صادر می کند.

      اپلت () parseColor پارامتر رنگ را به یک مقدار Color تجزیه می کند.

      () parseColor یک سری مقادیر رشته ای را برای مقادیر پارامتر با نام یک رنگ از پیش تعریف شده مطابقت می دهد.

      شما باید این متد ها را برای انجام این کار اپلت اجرا کنید.

      شناسایی پارامترهای Applet

      مثال زیر یک فایل HTML با CheckerApplet تعبیه شده در آن است.

      فایل HTML هر دو پارامتر را به اپلت با استفاده از تگ <param> مشخص می کند.

      مثال : 

      نکته : نام پارامتر حساس به حروف (کوچک یا بزرگ) نیست.

      تبدیل برنامه ی کاربردی به Applets

      شما می توانید یک برنامه ی کاربردی را به یک اپلت جاوا تبدیل کرده و آن را در یک صفحه وب قرار دهید.

      در زیر مراحل خاصی برای تبدیل یک برنامه به یک اپلت ارائه شده است:

      • یک صفحه HTML با برچسب مناسب برای بارگیری کد اپلت ایجاد کنید.
      • یک زیر کلاس از کلاس یوپتت را عرضه کنید. این کلاس را عمومی کنید در غیر این صورت، اپلت را نمی توان بارگذاری کرد.
      • متد main را در برنامه حذف کنید. پنجره frame  را برای برنامه ایجاد نکنید. برنامه شما در داخل مرورگر نمایش داده خواهد شد.
      •  کد initialization  را از سازنده frame پنجره به متد init از اپلت انتقال دهید.
      • تماس را برای setSize حذف کنید برای اپلت ها، اندازه گیری با پارامترهای عرض و ارتفاع در فایل HTML انجام می شود.
      • تماس را برای setDefaultCloseOperation حذف کنید. اپلت نمی تواند بسته نمی شود زمانی که مرورگر بسته شود، آن را خاتمه می دهد.
      • اپلت ها نمی توانند کدهای عنوان داشته باشند. (البته می توانید عنوان وب سایت خود را با استفاده از کدهای HTML ایجاد کنید.).
      • (setVisible (true را فراخوانی نکنید. اپلت به طور خودکار نمایش داده می شود.

      دستکاری رویدادها

      اپلت ها گروهی از متدهای مدیریت رویداد را از کلاس Container به ارث می برند.

      کلاس Container چندین متد را برای پردازش انواع خاصی از رویدادها، مانند processKeyEvent و processMouseEvent تعریف می کند.

      سپس یک متد processEvent تمام catch ها را فراخوانی می کند.

      به منظور واکنش به یک رویداد، یک اپلت باید متد خاص رویداد مناسب را لغو کند.

      مثال : 

      اکنون applet فوق را بصورت زیر فراخوانی می کنیم:

      مثال : 

      ابتدا اپلت “مقداردهی اولیه اپلت را آغاز می کند. شروع اپلت” را نشان می دهد.

      هنگامی که در داخل مستطیل کلیک کنید، “mouse clicked” نیز نمایش داده می شود.

      نمایش تصاویر

      یک اپلت می تواند تصاویری از فرمت GIF، JPEG، BMP و دیگران را نمایش دهد.

      برای نمایش یک تصویر درون اپلت، از متد () drawImage در کلاس java.awt.Graphics استفاده کنید.

      مثال – در زیر نمونه ای از تمام مراحل نمایش تصاویر را نشان می دهد:

      مثال : 

      حالا applet فوق را بصورت زیر فراخوانی می کنیم:

      مثال : 

      اجرای صدا

      یک اپلت میتواند فایل صوتی نمایشی از رابط AudioClip را در بسته java.applet پخش کند. اینترفیس AudioClip دارای سه متد زیر است:

      • ()public void play:

      کلیپ صوتی را یک بار از ابتدا پخش می کند.

      • ()public void loop:

      کلیپ صوتی را به طور پیوسته پخش می کند.

      • ()public void stop:

      پخش کلیپ صوتی را متوقف می کند.

      برای به دست آوردن یک شی AudioClip، باید از متد () getAudioClip کلاس اپلت استفاده کنید.

      متد () getAudioClip بلافاصله باز می شود.

      این که آیا آدرس URL به یک فایل صوتی واقعی حل می شود یا خیر. فایل صوتی تا زمانی که تلاش برای پخش کلیپ صوتی انجام نمی شود، دانلود نمی شود.

      در ادامه به مثالی از یک برنامه پرداخته ایم که تمام مراحل پخش صوتی را نشان می دهد:

      مثال : 

      حالا نحوه ی فراخوانی اپلت فوق در html بصورت زیر خواهد بود:

      مثال : 

      کلام آخر

      اپلت به عنوان یک کلاس یا یک افزونه در جاوا به شما قابلیت اجرای کدهای جاوا در html را می دهد و با استفاده از کدهای جاوا می توانید تصویری یا متن یا فایل چندرسانه ای را در کد html ایجاد کنید. که در مرور مباحث آشنایی با applet در جاوا به این نمونه ها اشاره کردیم.

      QR:  جلسه ۳۴ : applet در جاوا
      به اشتراک بگذارید