Site icon Trickbd.com

J2me বা Java ME প্রোগ্রামিং শিখুন। এবং তৈরী করে ফেলুন Java ME Application আপনার হাতে থাকা জাভা ফোন টি দিয়ে (part: 13)

Unnamed

J2me List

J2me Tutorial এর ১৩ তম পার্ট টি নিয়ে আপনাদের মাঝে আবার হাজির হলাম। আজকের Tutorial এ আমরা J2me List তোরি করা শিখবো। List হচ্ছে HTML ol list এর মতো। তো যাই হোক এত কথা না বলে আমরা সরাসরি J2me List এর একটি Source কোড তৈরি করি step বাই step. তো, প্রথমে আমরা Globar variable গুলো declare করে নেই।

Display disp;
List list;
Command ok, back, exit;

global variable তৈরি করা হয়ে গেলে এখন সেগুলো Constructor এ initialize করবো। প্রথমে Display এবং List তৈরি করি।

disp = Display.getDisplay(this);
list = new List("Select your country", Choice.IMPLICIT);

আমরা dis এবং list initialize করলাম। এখন এই List এ আমরা ৪ টা দেশ যুক্ত করবো। নিচে দেখুন।

list.append("Bangladesh", null);
list.append("India", null);
list.append("Pakistan", null);
list.append("Afghanstan");

আমরা List ৪ টা দেশ যুক্ত করলাম। এখন Command তৈরি করবো এবং List এ যুক্ত করবো।

ok = new Command("Ok", Command.OK,0);
exit = new Command("Exit", Command.EXIT,0);
list.addCommand(ok);
list.addCommand(exit);
list.setCommandListener(this);
back = new Command("Back", Command.BACK,0);

আমরা দুটো command J2me List এ যুক্ত করলাম। এখন এই List আমরা startApp() Display তে show করাবো।

disp.setCurrent(list);

startApp() এর কাজ এই পর্যন্তই। এখন আমরা চলে যাবো commandAction এ যেখানে আমরা Command গুলো handle করবো J2me List এর জন্য। তো প্রথমে command এর কোড block তৈরি করি .

public void commandAction(Command c, Displayable d) {


}

কোড block তৈরি করলাম c দারা command নির্দেশ করা হয়েছে। এখন আমরা Index number পাওয়ার জন্য List থেকে একটা variable তৈরি করবো।

int index = list.getSelectedIndex();

এখন আমরা if else এর ম্যাধ্যমে সব command handle করবো।

if (c == List.SELECT_COMMAND || c == ok) {
if (index == 0) {
 ban();
 } else if (index == 1) {
 india();
} else if(index == 2) {
pak();
} else if (index == 3) {
 afg();
 }
 }

যদি Index সমান 0 হয় তাহলে ban() (Bangladesh) excute হবে। Index 1 হলে india excute হবে। Index 2 হলে pak (Pakistan) excute হবে। Index সমান 3 হলে afg (Afghanstan) excute হবে।
নিচে এগুলো তৈরি করা হবে। command এর কাজ শেষ করার পর। এখন আমরা back exit command এর কাজ করবো।

if (c == back) {
 disp.setCurrent(list);
 }

jodi back command এ click করা হয় তাহলে List Display তে show করবে। back command nimner Form গুলোতে যুক্ত করা হবে। এখন আমরা exit command তৈরি করবো।

if (c == exit) {
 notifyDestroyed();
}

exit Command এ click করার পর এপ টা বের করে দিবে। এখন আমরা Command এর Method গুলো তৈরি করবো। প্রথমে আমরা ban() method তৈরি করবো।

public void ban() { }

এটার ভিতর এখন আমরা Form তৈরী করবো।

Form f = new Form("Bangladesh");
f.append("This is Bangladesh");

এখন আমরা এই form এ back command যুক্ত করবো।

f.addCommand(back);
f.setCommandListener(this);

এখন আমরা এই Form টা Display তে show করাবো।

disp.setCurrent(f);

ঠিক একি নিয়মে আমরা অখণ্ড india() method তৈরি করবো।

public void india() {
Form f1 = new Form("India");
f1.append("This is India");
f1.addCommand(back);
f1.setCommandListener(this);
disp.setCurrent(f1);
}

এই ভাবেই এখন pak() তৈরি করবো।

public void pak() {
Form f2 = new Form("Pakistan");
f2.append("This is Pakistan");
f2.addCommand(back);
f2.setCommandListener(this);
disp.setCurrent(f2);
}

এখং Afghanstan afg() তৈরি করবো উপরিউক্ত নিয়ম অনুসারেই

public void afg() {
Form f3 = new Form("Afghanstan");
f3.append("This is Afghanstan");
f3.addCommand(back);
f3.setCommandListener(this);
disp.setCurrent(f3);
}

এই পর্যন্তই ছিলো আজকের J2me List Tutorial টি। nic থেকে J2me List এর পুরো Source কোড টিই ডাউনলোড করে নেন। এবং J2me List Example practise করুন।

Download J2me List Example

View Full Source Code

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class ListExample extends MIDlet implements CommandListener {
 Display disp;
 List list;
 Command ok, back, exit;

 public ListExample() {
 disp = Display.getDisplay(this);
 list = new List("Select your country", Choice.IMPLICIT);
 list.append("Bangladesh", null);
 list.append("India", null);
 list.append("Pakistan", null);
 list.append("Afghanstan", null);
 ok = new Command("Ok", Command.OK,0);
 exit = new Command("Exit", Command.EXIT, 0);
 list.addCommand(ok);
 list.addCommand(exit);
 list.setCommandListener(this);
 back = new Command("Back", Command.BACK,0);


 }
public void startApp() { disp.setCurrent(list); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } public void commandAction(Command c, Displayable d) { int index = list.getSelectedIndex(); if (c == List.SELECT_COMMAND || c == ok) { if (index == 0) { ban(); } else if (index == 1) { india(); } else if (index == 2) { pak(); } else if (index == 3) { afg(); } } if (c == back) { disp.setCurrent(list); } if (c == exit) { notifyDestroyed(); } } public void ban() { Form f = new Form("Bangladesh"); f.append("This is Bangladesh.Bangladesh is a small country.But it has large population"); f.addCommand(back); f.setCommandListener(this); disp.setCurrent(f); } public void india() { Form f1 = new Form("India"); f1.append("This is India.India is big country.It located beside the Bangladesh"); f1.addCommand(back); f1.setCommandListener(this); disp.setCurrent(f1); } public void pak() { Form f2 = new Form("Pakistan"); f2.append("This is Pakistan.Pakistan is larger than Bangladesh"); f2.addCommand(back); f2.setCommandListener(this); disp.setCurrent(f2); } public void afg() { Form f3 = new Form("Afghanstan"); f3.append("Afghanstan"); f3.addCommand(back); f3.setCommandListener(this); disp.setCurrent(f3); } }