Command và CommandListener

Command: là lệnh để người dùng đưa vào những hành động tiếp sau đó theo mục đích của mình
- command cũng là một item trên form và được tạo như sau:
Command cm=new Command("tên lệnh","loại lệnh","vị trí");
Trong đó: loại lệnh có thể là:
Command.SCREEN
Command.BACK
Command.CANCEL
Command.OK
Command.HELP
Command.STOP
Command.EXIT
Command.ITEM
...
còn vị trí tức là nếu củng một loại thì chúng sẽ được gom lại trong một menu, và vị trí chính là vị trí của lệnh trong menu đó. Dù là một item như đó là một item đặc biệt vì vậy để thêm Command vào Form ta không dùng append mà dùng addCommand
f.addCommand(cm);
và khi sử dụng Command ta phải cho class thực thi kiểu CommandListener đồng thời cho thực thi trên đối tượng có command, cũng phải thêm vào một function mặc định để phân tích và thực thi lệnh mỗi khi Command được sử dụng, class của ta có dạng như sau:
public class vd entends MIDlet implements CommandListener{
public vd(){}
public void startApp(){}
public void pauseApp(){}
public void destroyApp (boolean unconditional){}
public void commandAction (Command c,Displayable d){} }
* một số thao tác trên command:
addCommad(cm); //thêm command vào một đối tượng nào đó
cm.setLabel("tên mới"); //thay đổi tên cho Command
cm.getLabel(); //lấy tên của Command
cm.getCommandType(); //trả về kiểu lệnh
còn sau đây là một ví dụ:
public class vd entends MIDlet implements CommandListener{
Form f=new Form("command");
Command cm1=new Command("exit",Command.EXIT,2);
Command cm2=new Command("hien",Command.OK,2);
TextField tf=new TextField("my name","",16,TextField.ANY);
public vd(){
f.addCommand(cm1);
f.addCommand(cm2);
f.append(tf);
f.setCommandListener(this);
Display.getDisplay(this).setCurrent(f);}
public void startApp(){}
public void pauseApp(){}
public void destroyApp(boolean unconditional) {notifyDestroyed();}
public void commandAction(Command c,Displayable d){
if(c==cm1){destroyApp(true);}
if(c.getLabel().equals("hien")){tf.setString("Opakul");}} }

0 nhận xét: