Java Language
एप्लेट
खोज…
परिचय
ऐप्पल अपनी आधिकारिक रिलीज़ के बाद से जावा का हिस्सा है और कई वर्षों से जावा और प्रोग्रामिंग को सिखाने के लिए उपयोग किया जाता है।
हाल के वर्षों में Applets और अन्य ब्राउज़र प्लगइन्स से दूर जाने के लिए एक सक्रिय धक्का देखा गया है, कुछ ब्राउज़रों ने उन्हें अवरुद्ध किया है या सक्रिय रूप से उनका समर्थन नहीं किया है।
2016 में, ओरेकल ने प्लगइन को खाली करने की अपनी योजना की घोषणा की, जो एक प्लगइन-फ्री वेब पर जा रहा है
नए और बेहतर API अब उपलब्ध हैं
टिप्पणियों
एक एप्लेट एक जावा अनुप्रयोग है जो आम तौर पर एक वेब ब्राउज़र के अंदर चलता है। मूल विचार सर्वर के साथ बातचीत और जानकारी स्थानांतरित करने की आवश्यकता के बिना उपयोगकर्ता के साथ बातचीत करना है। यह अवधारणा वर्ष 2000 के आसपास बहुत सफल रही जब इंटरनेट संचार धीमा और महंगा था।
एक एप्लेट अपने जीवन चक्र को नियंत्रित करने के लिए पांच तरीके प्रदान करता है।
विधि का नाम | विवरण |
---|---|
init() | एप्लेट लोड होने पर एक बार कॉल किया जाता है |
destroy() | एक बार कहा जाता है जब एप्लेट को मेमोरी से हटा दिया जाता है |
start() | जब भी एप्लेट दिखाई देता है उसे कहा जाता है |
stop() | जब भी एप्लेट को अन्य विंडो द्वारा ओवरलैप किया जाता है, उसे कहा जाता है |
paint() | जरूरत पड़ने पर या दमन से बुलाकर मैन्युअल रूप से ट्रिगर किया जाता है repaint() |
न्यूनतम एप्लेट
एक बहुत ही सरल एप्लेट एक आयत खींचता है और स्क्रीन पर कुछ स्ट्रिंग प्रिंट करता है।
public class MyApplet extends JApplet{
private String str = "StackOverflow";
@Override
public void init() {
setBackground(Color.gray);
}
@Override
public void destroy() {}
@Override
public void start() {}
@Override
public void stop() {}
@Override
public void paint(Graphics g) {
g.setColor(Color.yellow);
g.fillRect(1,1,300,150);
g.setColor(Color.red);
g.setFont(new Font("TimesRoman", Font.PLAIN, 48));
g.drawString(str, 10, 80);
}
}
एक एप्लेट का मुख्य वर्ग javax.swing.JApplet
से javax.swing.JApplet
।
जावा 1.2 से पहले और स्विंग एपीआई एप्लेट्स की शुरूआत java.applet.Applet
से बढ़ गई थी।
Applets को एक मुख्य विधि की आवश्यकता नहीं है। प्रवेश बिंदु को जीवन चक्र द्वारा नियंत्रित किया जाता है। उनका उपयोग करने के लिए, उन्हें एक HTML दस्तावेज़ में एम्बेड करने की आवश्यकता है। यह वह बिंदु भी है जहां उनके आकार को परिभाषित किया गया है।
<html>
<head></head>
<body>
<applet code="MyApplet.class" width="400" height="200"></applet>
</body>
</html>
एक जीयूआई बनाना
GUI बनाने के लिए Applets का उपयोग आसानी से किया जा सकता है। वे एक Container
तरह काम करते हैं और इसमें एक add()
विधि होती है जो किसी भी awt
या swing
कंपोनेंट को लेती है।
public class MyGUIApplet extends JApplet{
private JPanel panel;
private JButton button;
private JComboBox<String> cmbBox;
private JTextField textField;
@Override
public void init(){
panel = new JPanel();
button = new JButton("ClickMe!");
button.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent ae) {
if(((String)cmbBox.getSelectedItem()).equals("greet")) {
JOptionPane.showMessageDialog(null,"Hello " + textField.getText());
} else {
JOptionPane.showMessageDialog(null,textField.getText() + " stinks!");
}
}
});
cmbBox = new JComboBox<>(new String[]{"greet", "offend"});
textField = new JTextField("John Doe");
panel.add(cmbBox);
panel.add(textField);
panel.add(button);
add(panel);
}
}
एप्लेट के भीतर से लिंक खोलें
आप AppletContext
ऑब्जेक्ट प्राप्त करने के लिए विधि getAppletContext()
का उपयोग कर सकते हैं जो आपको ब्राउज़र को लिंक खोलने के लिए अनुरोध करने की अनुमति देता है। इसके लिए आप विधि showDocument()
उपयोग करें। इसका दूसरा पैरामीटर ब्राउज़र बताता है एक नई विंडो का उपयोग करने के _blank
या कि शो एक एप्लेट _self
।
public class MyLinkApplet extends JApplet{
@Override
public void init(){
JButton button = new JButton("ClickMe!");
button.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent ae) {
AppletContext a = getAppletContext();
try {
URL url = new URL("http://stackoverflow.com/");
a.showDocument(url,"_blank");
} catch (Exception e) { /* omitted for brevity */ }
}
});
add(button);
}
}
चित्र, ऑडियो और अन्य संसाधन लोड हो रहे हैं
जावा एप्लेट विभिन्न संसाधनों को लोड करने में सक्षम हैं। लेकिन चूंकि वे क्लाइंट के वेब ब्राउज़र में चल रहे हैं, इसलिए आपको यह सुनिश्चित करने की आवश्यकता है कि ये संसाधन सुलभ हैं। Apple ग्राहक क्लाइंट संसाधनों को स्थानीय फ़ाइल सिस्टम के रूप में एक्सेस करने में सक्षम नहीं हैं।
यदि आप एक ही URL से संसाधनों को लोड करना चाहते हैं तो एप्लेट को संग्रहीत किया जाता है आप बेस URL को पुनः प्राप्त करने के लिए विधि getCodeBase()
का उपयोग कर सकते हैं। संसाधनों को लोड करने के लिए, ऐपलेट छवियों या ऑडियो फ़ाइलों को लोड करने के लिए तरीके getImage()
और getAudioClip()
पेशकश करते हैं।
लोड करें और एक छवि दिखाएं
public class MyImgApplet extends JApplet{
private Image img;
@Override
public void init(){
try {
img = getImage(new URL("http://cdn.sstatic.net/stackexchange/img/logos/so/so-logo.png"));
} catch (MalformedURLException e) { /* omitted for brevity */ }
}
@Override
public void paint(Graphics g) {
g.drawImage(img, 0, 0, this);
}
}
किसी ऑडियो फ़ाइल को लोड करें और चलाएं
public class MyAudioApplet extends JApplet{
private AudioClip audioClip;
@Override
public void init(){
try {
audioClip = getAudioClip(new URL("URL/TO/AN/AUDIO/FILE.WAV"));
} catch (MalformedURLException e) { /* omitted for brevity */ }
}
@Override
public void start() {
audioClip.play();
}
@Override
public void stop(){
audioClip.stop();
}
}
टेक्स्ट फ़ाइल लोड और प्रदर्शित करें
public class MyTextApplet extends JApplet{
@Override
public void init(){
JTextArea textArea = new JTextArea();
JScrollPane sp = new JScrollPane(textArea);
add(sp);
// load text
try {
URL url = new URL("http://www.textfiles.com/fun/quotes.txt");
InputStream in = url.openStream();
BufferedReader bf = new BufferedReader(new InputStreamReader(in));
String line = "";
while((line = bf.readLine()) != null) {
textArea.append(line + "\n");
}
} catch(Exception e) { /* omitted for brevity */ }
}
}