জাভা দিয়ে অ্যাপলেট প্রোগ্রামিং
মো: আবদুল কাদের
অ্যাপলেট নিয়ে প্রোগ্রামিংয়ের এ পর্বে অ্যাপলেট তৈরির আরও কিছু নতুন পদ্ধতি দেখানো হয়েছে। গত পর্বে সুইং প্যাকেজ দিয়ে অ্যাপলেট তৈরির পদ্ধতি এবং মেইন মেথড ব্যবহার করে রান করার পদ্ধতি দেখানো হয়েছে। এ পর্বে মূলত তিনটি প্রোগ্রাম দেখানো হয়েছে। একটি প্যানেলের ওপর অ্যাপলেট তৈরি এবং একটি অ্যাপলেটের ওপর আরেকটি অ্যাপলেট তৈরির দুই ধরনের দুটি প্রোগ্রাম নিয়ে আলোচনা করা হয়েছে।
১ম প্রোগ্রাম (Applet_On_Panel.java)
এই প্রোগ্রামে প্যানেলের ওপর একটি অ্যাপলেট বসানো হবে। প্রথমে একটি প্যানেল (ঢ়ধহ) নিয়ে তার ওপর বাটনবিশিষ্ট একটি অ্যাপলেট (লধঢ়ঢ়) প্যানেলটিতে সংযুক্ত করা হবে। অ্যাপলেটে সংযুক্ত বাটনটি কোনো কাজ করবে না, কারণ বাটন কাজ করার জন্য অপঃরড়হখরংঃবহবৎ নামে যে ইন্টারফেস ইমপ্লিমেন্ট করতে হয়, তা এ প্রোগ্রামে করা হয়নি। এখানে শুধু কীভাবে প্যানেলে অ্যাপলেট সেট করা যায়, সে প্রক্রিয়াটুকু দেখানো হয়েছে। তাছাড়া এ প্রোগ্রামে মেইন মেথড ব্যবহার করা হয়েছে। তাই অন্যান্য জাভা প্রোগ্রাম রান করার মতোই এটি রান করতে হবে। এর জন্য applet viewer-এর প্রয়োজন নেই।
import javax.swing.*;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Applet_On_Panel extends JFrame {
Applet_On_Panel() {
Container con = getContentPane();
Panel pan = nwe Panel();
JApplet japp = nwe JApplet();
japp.setBackground(Color.green);
JButton b1 = nwe JButton(ÒHelloÓ);
(japp.getContentPane()).add(b1;
pan.add(japp);
con.add(pan);
}
public static void main(String args[]) {
Applet_On_Panel x = nwe Applet_On_Panel();
x.setSi“e(200,200);
x.setVisible(true);
}
}
চিত্র : রান করার পদ্ধতি
চিত্র : আউটপুট
২য় প্রোগ্রাম (Applet_Over_Applet.java)
এই প্রোগ্রামে একটি অ্যাপলেটের ওপর আরেকটি অ্যাপলেট বসানো হবে। প্রথমে বাটনবিশিষ্ট একটি অ্যাপলেট (app) তৈরি করে তার ব্যাকগ্রাউন্ড সাদা সেট করা হয়েছে। ২য় অ্যাপলেটে একটি টেক্সট সংযুক্ত করা হয়েছে এবং অ্যাপলেটের ব্যাকগ্রাউন্ড দেয়া হয়েছে সবুজ রঙের, যাতে দুটি অ্যাপলেটের মধ্যে পার্থক্য সহজেই বোঝা যায়। এরপর ১ম অ্যাপলেটটিকে ২য় অ্যাপলেটে বসানো হয়েছে। এখানে ২য় অ্যাপলেটের সাইজ Dimension (Width, Height) দিয়ে নির্দিষ্ট করা হয়েছে। এ প্রোগ্রামে মেইন মেথড ব্যবহার করা হয়নি। তাই এটি রান করার জন্য applet viewer ব্যবহার করতে হবে। সবশেষে অ্যাপলেট বন্ধ করে দিলে Applet Stoppedমেসেজ দেখাবে এবং মেমরি থেকে মুছে দেয়ার পর Destroyed মেসেজ দেখাবে।
import java.awt.*;
import java.applet.*;
import java.awt.Color.*;
/*
*/
public class Applet_Over_Applet extends Applet {
Dimension d = nwe Dimension(200,150);
public void init() {
try {
Applet app = nwe Applet();
app.setSi“e(200,100);
app.setBackground(Color.white);
Button b1 = nwe Button(ÒHelloÓ);
app.add(b1);
b1.setLocation(85, 85);
add(app);
setSi“e(200, 300);
setBackground(Color.green);
showStatus(ÒApplet Initiated.Ó);
repaint();
}
catch (ClassCastException e) { }
}
public void paint(Graphics g) {
resi“e(d);
g.drawString (ÒString to be drawn on the appletÓ,20,100);
}
public void stop() {
System.out.println(ÒApplet Stopped.Ó);
}
public void destroy() {
System.out.println(ÒDestroyed.Ó);
}
}
Applet_On_Applet.java
এই প্রোগ্রামেও একটি অ্যাপলেটের ওপর আরেকটি অ্যাপলেট বসানো হবে। তবে আগের প্রোগ্রামটি থেকে এর পার্থক্য হচ্ছে, এখানে যে অ্যাপলেটটি বসানো হবে, তা একটি কনটেন্টের মতো, অর্থাৎ বাটন বা টেক্সট বক্সের মতো কাজ করবে। প্রথমে বাটনবিশিষ্ট একটি অ্যাপলেট (app) তৈরি করে তার ব্যাকগ্রাউন্ড সবুজ সেট করা হয়েছে। এরপর ২য় অ্যাপলেট (japp) তৈরি করা হয়েছে। তারপর ২য় অ্যাপলেটের মধ্যে ১ম অ্যাপলেটকে সংযুক্ত করে একটি কন্টেইনারের (con) মাধ্যমে ফ্রেমে সংযুক্ত করা হয়েছে। এ প্রোগ্রামে মেইন মেথড ব্যবহার করা হয়েছে। প্রোগ্রামটি অন্যান্য জাভা প্রোগ্রামের মতো অথবা applet viewer-এর মাধ্যমে রান করা যাবে।
import javax.swing.*;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
/*
*/
public class Applet_On_Applet extends JFrame {
Applet_On_Applet() {
Container con = getContentPane();
JApplet japp = nwe JApplet();
Applet app = nwe Applet();
app.setBackground(Color.green);
JButton b1 = nwe JButton(ÒHelloÓ);
app.add(b1);
(japp.getContentPane()).add(app);
//japp.setBackground(Color.white); //Try
con.add(japp);
}
public static void main(String args[]) {
Applet_On_Applet x = nwe Applet_On_Applet();
x.setSi“e(200,200);
x.setVisible(true);
}
}
চিত্র : রান করার পদ্ধতি
২য় ও ৩য় প্রোগ্রামের মধ্যে উল্লেখযোগ্য বৈশিষ্ট্য হলো ২য় প্রোগ্রামে দুটি ব্যাকগ্রাউন্ডই দেখা যাচ্ছে, কিন্তু ৩য় প্রোগ্রামে শুধু যে অ্যাপলেট সংযুক্ত করা হয়েছে, তার ব্যাকগ্রাউন্ড দেখা যাচ্ছে। অ্যাপলেট সংক্রান্ত প্রোগ্রামিংয়ের এটিই শেষ পর্ব। পরবর্তী পর্ব থেকে অন্য কোনো গুরুত্বপূর্ণ বিষয় নিয়ে আলোচনা করা হবে