जावा एप्लेट बेसिक्स सम्बंधित जानकारी (Java Applet Basics in Hindi)

हम इस ट्यूटोरियल में सीखने वाले है कि जावा एप्लेट बेसिक्स (Java Applet Basics in Hindi) और हम इसे कैसे इस्तमाल कर सकते हैं? एक Applet एक जावा प्रोग्राम है जो एक वेब ब्राउज़र में चलता है। एक Applet पूरी तरह functional जावा अनुप्रयोग हो सकता है क्योंकि इसके निपटान में संपूर्ण जावा एपीआई है।

Applet और स्टैंडअलोन जावा एप्लिकेशन के बीच कुछ महत्वपूर्ण अंतर हैं, जिनमें निम्नलिखित शामिल हैं –

  • Applet एक जावा वर्ग है जो java.applet.Applet वर्ग का विस्तार करता है।
  • Applet पर एक मुख्य () विधि लागू नहीं की जाती है, और एक Applet वर्ग मुख्य () को परिभाषित नहीं करेगा।
  • Applet्स को एक HTML पेज के भीतर embed करने के लिए डिज़ाइन किया गया है।
  • जब कोई उपयोगकर्ता Applet वाले HTML पृष्ठ को देखता है, तो Applet के लिए कोड उपयोगकर्ता की मशीन पर डाउनलोड हो जाता है।
  • Applet देखने के लिए जेवीएम की आवश्यकता होती है। JVM या तो वेब ब्राउज़र का प्लग-इन या एक अलग रनटाइम वातावरण हो सकता है।
  • उपयोगकर्ता की मशीन पर JVM Applet क्लास का एक उदाहरण बनाता है और Applet के जीवनकाल के दौरान विभिन्न तरीकों को लागू करता है।
  • Applet्स के सख्त सुरक्षा नियम हैं जो वेब ब्राउज़र द्वारा लागू किए जाते हैं। एक Applet की सुरक्षा को अक्सर सैंडबॉक्स सुरक्षा के रूप में संदर्भित किया जाता है, Applet की तुलना सैंडबॉक्स में खेलने वाले बच्चे से की जाती है, जिसका पालन किया जाना चाहिए।
  • Applet की जरूरत वाले अन्य वर्गों को एक जावा आर्काइव (जेएआर) फ़ाइल में डाउनलोड किया जा सकता है।

Applet का जीवन चक्र (Life Cycle of an Applet)

Applet क्लास में चार विधियाँ आपको वह रूपरेखा प्रदान करती हैं जिस पर आप कोई भी गंभीर Applet बनाते हैं –

  • init − यह विधि आपके Applet के लिए जो भी इनिशियलाइज़ेशन आवश्यक है, उसके लिए अभिप्रेत है। Applet टैग के अंदर परम टैग संसाधित होने के बाद इसे कॉल किया जाता है।
  • start – ब्राउजर द्वारा init मेथड को कॉल करने के बाद यह मेथड अपने आप कॉल हो जाता है। यह तब भी कहा जाता है जब उपयोगकर्ता अन्य पृष्ठों पर जाने के बाद Applet वाले पृष्ठ पर लौटता है।
  • stop यह विधि स्वचालित रूप से बुलाई जाती है जब उपयोगकर्ता उस पृष्ठ से हट जाता है जिस पर Applet स्थित होता है। इसलिए इसे एक ही Applet में बार-बार कॉल किया जा सकता है।
  • destroy – इस विधि को केवल तभी कहा जाता है जब ब्राउज़र सामान्य रूप से बंद हो जाता है। चूंकि Applet्स एक HTML पृष्ठ पर रहने के लिए हैं, इसलिए उपयोगकर्ता द्वारा Applet वाले पृष्ठ को छोड़ने के बाद आपको सामान्य रूप से संसाधनों को पीछे नहीं छोड़ना चाहिए।
  • paint – स्टार्ट () विधि के तुरंत बाद लागू किया जाता है, और किसी भी समय Applet को ब्राउज़र में खुद को फिर से पेंट करने की आवश्यकता होती है। paint() विधि वास्तव में java.awt से विरासत में मिली है।

ए “Hello, World” Applet (A “Hello, World” Applet)

निम्नलिखित एक सरल Applet है जिसका नाम हैलोवर्ल्डApplet.जावा –

import java.applet.*;

import java.awt.*;

public class HelloWorldApplet extends Applet {

   public void paint (Graphics g) {

      g.drawString (“Hello World”, 25, 50);

   }

}

ये आयात विवरण कक्षाओं को हमारे Applet वर्ग के दायरे में लाते हैं –

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

उन आयात विवरणों के बिना, जावा कंपाइलर Applet और ग्राफिक्स वर्ग को नहीं पहचान पाएगा, जिसे Applet वर्ग संदर्भित करता है।

Applet वर्ग (The Applet Class in Hindi)

प्रत्येक Applet java.applet.Applet वर्ग का विस्तार है। बेस Applet क्लास ऐसी विधियाँ प्रदान करता है जिन्हें व्युत्पन्न Applet क्लास ब्राउज़र संदर्भ से जानकारी और सेवाएँ प्राप्त करने के लिए कॉल कर सकता है।

इनमें वे विधियाँ शामिल हैं जो निम्न कार्य करती हैं –

  • Applet पैरामीटर प्राप्त करें
  • Applet वाली HTML फ़ाइल का नेटवर्क स्थान प्राप्त करें
  • Applet वर्ग निर्देशिका का नेटवर्क स्थान प्राप्त करें
  • ब्राउज़र में एक स्थिति संदेश प्रिंट करें
  • एक छवि प्राप्त करें
  • एक ऑडियो क्लिप प्राप्त करें
  • एक ऑडियो क्लिप चलाएं
  • Applet का आकार बदलें

इसके अतिरिक्त, Applet वर्ग एक इंटरफ़ेस प्रदान करता है जिसके द्वारा दर्शक या ब्राउज़र Applet के बारे में जानकारी प्राप्त करता है और Applet के निष्पादन को नियंत्रित करता है। दर्शक –

  • Applet के लेखक, संस्करण और कॉपीराइट के बारे में जानकारी का अनुरोध करें
  • Applet द्वारा पहचाने जाने वाले मापदंडों के विवरण का अनुरोध करें
  • Applet को इनिशियलाइज़ करें
  • Applet को नष्ट करें
  • Applet का निष्पादन प्रारंभ करें
  • Applet के निष्पादन को रोकें

Applet क्लास इन विधियों में से प्रत्येक के लिए डिफ़ॉल्ट कार्यान्वयन प्रदान करता है। उन कार्यान्वयनों को आवश्यकतानुसार ओवरराइड किया जा सकता है।

“Hello, World” Applet जैसे ही खड़ा है, पूरा हो गया है। ओवरराइड की गई एकमात्र विधि पेंट विधि है।

Applet का आह्वान करना (Invoking an Applet in Hindi)

एक HTML फ़ाइल में निर्देशों को embed करके और एक Applet व्यूअर या जावा-सक्षम ब्राउज़र के माध्यम से फ़ाइल को देखकर एक Applet का आह्वान किया जा सकता है।

<applet> टैग एक Applet को HTML फ़ाइल में embed करने का आधार है। निम्नलिखित एक उदाहरण है जो “Hello, World” Applet को आमंत्रित करता है –

<html>

   <title>The Hello, World Applet</title>

   <hr>

   <applet code = “HelloWorldApplet.class” width = “320” height = “120”>

      If your browser was Java-enabled, a “Hello, World”

      message would appear here.

   </applet>

   <hr>

</html>

नोट − HTML से Applet को कॉल करने के बारे में अधिक समझने के लिए आप HTML Applet टैग का संदर्भ ले सकते हैं।

<applet> टैग की कोड विशेषता आवश्यक है। यह Applet वर्ग को चलाने के लिए निर्दिष्ट करता है। जिस पैनल में Applet चलता है, उसके प्रारंभिक आकार को निर्दिष्ट करने के लिए चौड़ाई और ऊंचाई की भी आवश्यकता होती है। Applet निर्देश को </applet> टैग के साथ बंद किया जाना चाहिए।

यदि कोई Applet पैरामीटर लेता है, तो <applet> और </applet> के बीच <param> टैग जोड़कर पैरामीटर के लिए मान पास किए जा सकते हैं। ब्राउजर Applet टैग्स के बीच टेक्स्ट और अन्य टैग्स को इग्नोर करता है।

non-java-enabled ब्राउज़र <applet> और </applet> को प्रोसेस नहीं करते हैं। इसलिए, टैग के बीच दिखाई देने वाली कोई भी चीज़, जो Applet से संबंधित नहीं है, non-java-enabled ब्राउज़रों में दिखाई देती है।

दर्शक या ब्राउज़र दस्तावेज़ के स्थान पर संकलित जावा कोड की तलाश करता है। अन्यथा निर्दिष्ट करने के लिए, दिखाए गए अनुसार <applet> टैग की कोडबेस विशेषता का उपयोग करें –

<applet codebase = “https://amrood.com/applets” code = “HelloWorldApplet.class”

   width = “320” height = “120”>

यदि कोई Applet डिफॉल्ट के अलावा किसी अन्य पैकेज में रहता है, तो होल्डिंग पैकेज को पैकेज/वर्ग घटकों को अलग करने के लिए अवधि वर्ण (।) का उपयोग करके कोड विशेषता में निर्दिष्ट किया जाना चाहिए। उदाहरण के लिए –

<applet  = “mypackage.subpackage.TestApplet.class” 

   width = “320” height = “120”>

Applet पैरामीटर प्राप्त करना (Getting Applet Parameters in Hindi)

निम्न उदाहरण दर्शाता है कि Applet को दस्तावेज़ में निर्दिष्ट सेटअप पैरामीटर का जवाब कैसे देना है। यह Applet काले और दूसरे रंग का चेकरबोर्ड पैटर्न प्रदर्शित करता है।

दूसरे रंग और प्रत्येक वर्ग के आकार को दस्तावेज़ के भीतर Applet के पैरामीटर के रूप में निर्दिष्ट किया जा सकता है।

CheckerApplet init() मेथड में इसके पैरामीटर प्राप्त करता है। यह अपने पैरामीटर को paint () विधि में भी प्राप्त कर सकता है। हालांकि, Applet की शुरुआत में एक बार मान प्राप्त करना और सेटिंग्स को सहेजना, प्रत्येक रीफ्रेश के बजाय, सुविधाजनक और कुशल है।

Applet व्यूअर या ब्राउजर अपने द्वारा चलाए जाने वाले प्रत्येक Applet की init() विधि को कॉल करता है। Applet लोड करने के तुरंत बाद दर्शक init() को एक बार कॉल करता है। (Applet.init() कुछ भी नहीं करने के लिए लागू किया गया है।) कस्टम आरंभीकरण कोड सम्मिलित करने के लिए डिफ़ॉल्ट कार्यान्वयन को ओवरराइड करें।

Applet.getParameter() विधि दिए गए पैरामीटर के नाम से एक पैरामीटर प्राप्त करती है (पैरामीटर का मान हमेशा एक स्ट्रिंग होता है)। यदि मान संख्यात्मक या अन्य गैर-वर्ण डेटा है, तो स्ट्रिंग को पार्स किया जाना चाहिए।

निम्नलिखित CheckerApplet.java का ढांचा है –

import java.applet.*;

import java.awt.*;

public class CheckerApplet extends Applet {

   int squareSize = 50;   // डिफ़ॉल्ट आकार के लिए initialized किया गया

   public void init() {}

   private void parseSquareSize (String param) {}

   private Color parseColor (String param) {}

   public void paint (Graphics g) {}

}

यहां CheckerApplet के init() और private parseSquareSize() तरीके हैं –

public void init () {

   String squareSizeParam = getParameter (“squareSize”);

   parseSquareSize (squareSizeParam);

   String colorParam = getParameter (“color”);

   Color fg = parseColor (colorParam);

   setBackground (Color.black);

   setForeground (fg);

}

private void parseSquareSize (String param) {

   if (param == null) return;

   try {

      squareSize = Integer.parseInt (param);

   } catch (Exception e) {

      // Let default value remain

   }

}

Applet स्क्वायरसाइज पैरामीटर को पार्स करने के लिए ParseSquareSize() को कॉल करता है। ParseSquareSize () लाइब्रेरी मेथड Integer.parseInt () को कॉल करता है, जो एक स्ट्रिंग को पार्स करता है और एक पूर्णांक देता है। Integer.parseInt() एक अपवाद फेंकता है जब भी इसका तर्क अमान्य होता है।

इसलिए, खराब इनपुट पर Applet को विफल करने की अनुमति देने के बजाय, parseSquareSize() अपवादों को पकड़ता है।

रंग पैरामीटर को रंग मान में पार्स करने के लिए Applet पार्सकोलर () को कॉल करता है। parseColor() पैरामीटर मान को predefined रंग के नाम से मिलान करने के लिए स्ट्रिंग तुलना की एक श्रृंखला करता है। इस Applet को काम करने के लिए आपको इन विधियों को लागू करने की आवश्यकता है।

Applet पैरामीटर निर्दिष्ट करना (Specifying Applet Parameters in Hindi)

निम्नलिखित एक HTML फ़ाइल का एक उदाहरण है जिसमें एक CheckerApplet सन्निहित है। HTML फ़ाइल <param> टैग के माध्यम से Applet में दोनों पैरामीटर निर्दिष्ट करती है।

<html>

   <title>Checkerboard Applet</title>

   <hr>

   <applet code = “CheckerApplet.class” width = “480” height = “320”>

      <param name = “color” value = “blue”>

      <param name = “squaresize” value = “30”>

   </applet>

   <hr>

</html>

नोट − पैरामीटर नाम केस सेंसिटिव नहीं होते हैं।

Applet के लिए आवेदन रूपांतरण (Application Conversion to Applets)

एक ग्राफिकल जावा एप्लिकेशन (जो कि एडब्ल्यूटी का उपयोग करता है और जिसे आप जावा प्रोग्राम लॉन्चर से शुरू कर सकते हैं) को एक Applet में बदलना आसान है जिसे आप वेब पेज में embed कर सकते हैं।

किसी एप्लिकेशन को Applet में बदलने के लिए विशिष्ट चरण निम्नलिखित हैं।

  • Applet कोड को लोड करने के लिए उपयुक्त टैग के साथ एक HTML पेज बनाएं।
  • JApplet वर्ग का एक उपवर्ग प्रदान करें। इस वर्ग को सार्वजनिक करें। अन्यथा, Applet लोड नहीं किया जा सकता।
  • आवेदन में मुख्य विधि को हटा दें। एप्लिकेशन के लिए फ़्रेम विंडो का निर्माण न करें। आपका आवेदन ब्राउज़र के अंदर प्रदर्शित किया जाएगा।
  • फ्रेम विंडो कन्स्ट्रक्टर से किसी प्रारंभिक कोड को Applet की init विधि में ले जाएं। आपको Applet ऑब्जेक्ट को स्पष्ट रूप से बनाने की आवश्यकता नहीं है। ब्राउजर इसे आपके लिए इंस्टैंट करता है और इनिट मेथड को कॉल करता है।
  • कॉल को सेट करने के लिए निकालें; Applet्स के लिए, आकार HTML फ़ाइल में चौड़ाई और ऊंचाई पैरामीटर के साथ किया जाता है।
  • कॉल को setDefaultCloseOperation से निकालें। एक Applet को बंद नहीं किया जा सकता है; ब्राउज़र के बाहर निकलने पर यह समाप्त हो जाता है।
  • यदि एप्लिकेशन सेटटाइटल को कॉल करता है, तो कॉल को विधि से हटा दें। Applet्स में टाइटल बार नहीं हो सकते। (आप निश्चित रूप से HTML शीर्षक टैग का उपयोग करके वेब पेज को स्वयं शीर्षक दे सकते हैं।)
  • सेट विज़िबल (सत्य) को कॉल न करें। Applet स्वचालित रूप से प्रदर्शित होता है।

घटना से निपटना (Event Handling in Hindi)

Applet्स कंटेनर क्लास से इवेंट-हैंडलिंग विधियों के समूह को इनहेरिट करते हैं। कंटेनर वर्ग विशेष प्रकार की घटनाओं को संभालने के लिए कई विधियों को परिभाषित करता है, जैसे कि प्रोसेसकेइवेंट और processmouseevent, और फिर एक कैच-ऑल विधि जिसे प्रोसेसइवेंट कहा जाता है।

किसी घटना पर प्रतिक्रिया करने के लिए, Applet को उचित घटना-विशिष्ट विधि को ओवरराइड करना चाहिए।

import java.awt.event.MouseListener;

import java.awt.event.MouseEvent;

import java.applet.Applet;

import java.awt.Graphics;

public class ExampleEventHandling extends Applet implements MouseListener {

   StringBuffer strBuffer;

   public void init() {

      addMouseListener(this);

      strBuffer = new StringBuffer();

      addItem(“initializing the apple “);

   }

   public void start() {

      addItem(“starting the applet “);

   }

   public void stop() {

      addItem(“stopping the applet “);

   }

   public void destroy() {

      addItem(“unloading the applet”);

   }

   void addItem(String word) {

      System.out.println(word);

      strBuffer.append(word);

      repaint();

   }

   public void paint(Graphics g) {

      // Draw a Rectangle around the applet’s display area.

      g.drawRect(0, 0, 

      getWidth() – 1,

      getHeight() – 1);

      // आयत के अंदर स्ट्रिंग प्रदर्शित करें.

      g.drawString(strBuffer.toString(), 10, 20);

   }

   public void mouseEntered(MouseEvent event) {

   }

   public void mouseExited(MouseEvent event) {

   }

   public void mousePressed(MouseEvent event) {

   }

   public void mouseReleased(MouseEvent event) {

   }

   public void mouseClicked(MouseEvent event) {

      addItem(“mouse clicked! “);

   }

}

अब, हम इस Applet को इस प्रकार कहते हैं –

<html>

   <title>Event Handling</title>

   <hr>

   <applet code = “ExampleEventHandling.class” 

      width = “300” height = “300”>

   </applet>

   <hr>

</html>

प्रारंभ में, Applet “Applet को प्रारंभ कर रहा है। Applet को प्रारंभ कर रहा है” प्रदर्शित करेगा। फिर एक बार जब आप आयत के अंदर क्लिक करते हैं, तो “माउस क्लिक किया गया” भी प्रदर्शित होगा।

चित्र प्रदर्शित करना (Displaying Images)

एक Applet जीआईएफ, जेपीईजी, बीएमपी, और अन्य प्रारूपों की छवियों को प्रदर्शित कर सकता है। Applet के भीतर एक छवि प्रदर्शित करने के लिए, आप java.awt.Graphics वर्ग में पाए जाने वाले drawImage() विधि का उपयोग करते हैं।

छवियों को दिखाने के सभी चरणों को दर्शाने वाला एक उदाहरण नीचे दिया गया है –

import java.applet.*;

import java.awt.*;

import java.net.*;

public class ImageDemo extends Applet {

   private Image image;

   private AppletContext context;

   public void init() {

      context = this.getAppletContext();

      String imageURL = this.getParameter(“image”);

      if(imageURL == null) {

         imageURL = “java.jpg”;

      }

      try {

         URL url = new URL(this.getDocumentBase(), imageURL);

         image = context.getImage(url);

      } catch (MalformedURLException e) {

         e.printStackTrace();

         // ब्राउज़र स्थिति बार में प्रदर्शित करें

         context.showStatus(“Could not load image!”);

      }

   }

   public void paint(Graphics g) {

      context.showStatus(“Displaying image”);

      g.drawImage(image, 0, 0, 200, 84, null);

      g.drawString(“www.javalicense.com”, 35, 100);

   }  

}

अब, हम इस Applet को इस प्रकार कहते हैं –

<html>

   <title>The ImageDemo applet</title>

   <hr>

   <applet code = “ImageDemo.class” width = “300” height = “200”>

      <param name = “image” value = “java.jpg”>

   </applet>

   <hr>

</html>

ऑडियो बजाना

एक Applet java.applet पैकेज में AudioClip इंटरफ़ेस द्वारा प्रस्तुत एक ऑडियो फ़ाइल चला सकता है। AudioClip इंटरफ़ेस में तीन विधियाँ हैं, जिनमें – शामिल हैं

  • public void play() − शुरुआत से एक बार ऑडियो क्लिप चलाता है।
  • public void loop() – ऑडियो क्लिप को लगातार रीप्ले करने का कारण बनता है।
  • public void stop() – ऑडियो क्लिप चलाना बंद कर देता है।

ऑडियोक्लिप ऑब्जेक्ट प्राप्त करने के लिए, आपको Applet क्लास की getAudioClip() विधि को इनवॉइस करना होगा। GetAudioClip() विधि तत्काल वापस आती है, भले ही यूआरएल वास्तविक ऑडियो फ़ाइल में हल हो या नहीं। ऑडियो क्लिप चलाने का प्रयास किए जाने तक ऑडियो फ़ाइल डाउनलोड नहीं होती है।

निम्नलिखित एक उदाहरण है जो ऑडियो चलाने के सभी चरणों को दर्शाता है –

import java.applet.*;

import java.awt.*;

import java.net.*;

public class AudioDemo extends Applet {

   private AudioClip clip;

   private AppletContext context;

   public void init() {

      context = this.getAppletContext();

      String audioURL = this.getParameter(“audio”);

      if(audioURL == null) {

         audioURL = “default.au”;

      }

      try {

         URL url = new URL(this.getDocumentBase(), audioURL);

         clip = context.getAudioClip(url);

      } catch (MalformedURLException e) {

         e.printStackTrace();

         context.showStatus(“Could not load audio file!”);

      }

   }

   public void start() {

      if(clip != null) {

         clip.loop();

      }

   }

   public void stop() {

      if(clip != null) {

         clip.stop();

      }

   }

}

अब, हम इस Applet को इस प्रकार कहते हैं –

<html>

   <title>The ImageDemo applet</title>

   <hr>

   <applet code = “ImageDemo.class” width = “0” height = “0”>

      <param name = “audio” value = “test.wav”>

   </applet>

   <hr>

</html>

उपरोक्त उदाहरण का परीक्षण करने के लिए आप अपने PC पर test.wav का उपयोग कर सकते हैं।
हम उम्मीद करते है कि आपको “जावा एप्लेट बेसिक्स (Java Applet Basics in Hindi)” से सम्बंधित जानकारी हिंदी में समझ में आयी होंगी यदि आपको बताई गई जानकारी अच्छी लगी हो तो अपने दोस्तों में ऐसे शेयर करे जिससे उनकी भी हेल्प हो सके धन्यवाद!

RELATED ARTICLES

कोई जवाब दें

कृपया अपनी टिप्पणी दर्ज करें!
कृपया अपना नाम यहाँ दर्ज करें

Subject Topics

Latest Topic

lang="hi-IN"