12/4/2021 06:47:23
Chào: khách!
Đăng nhập Đăng ký
Diễn đàn > Java > Khác
[J2ME] Bài 6: Command
1 năm trước #1
Command nghĩa là lệnh. Cứ hiểu là nút bấm cho khoẻ. Ví dụ nút thoát game, nút cancel, nút ok...

Cấu trúc khai báo:

Command tên=new Command("tên nút",kiểu,vị trí);


Xem code dưới nha:

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

public class Midlet extends MIDlet implements CommandListener{

Command thoat = new Command("Thoát ra",7,1);
Form f = new Form("su dung cm");
Display d = Display.getDisplay(this);

public void startApp(){
f.addCommand(thoat);
f.setCommandListener(this);
d.setCurrent(f);
}

public void pauseApp(){}
public void destroyApp(boolean uncon){
notifyDestroyed();
}

public void commandAction(Command c,Displayable d){
if (c == thoat) destroyApp(true);
}
}


public class Cmd extends MIDlet implements CommandListener 


Như các bài trước thì bình thường không có implements CommandListener. Nhưng các bạn nên nhớ, hễ dùng command thì phải có nhé.

Đằng sau chữ implements là kiểu thực thi của class mới và ở đây là nghe theo sự điều khiển của command.

Command thoat=new Command("Thoat ra",7,1);


Theo cấu trúc đã nói ở bên trên thì Command này tên là thoat, còn cái nút tên là Thoát ra (cái nút này nó hiển thị ở một góc trên màn hình,làm rồi các bạn sẽ thấy).

Cũng theo cấu trúc, kiểu ở đây là 7, là số viết tắt của Command.EXIT
Có nhiều kiểu lắm các bạn ạ, nhưng mới học nên quan tâm đến mấy kiểu dưới đây thôi:

1 ứng với Command.SCREEN
2 ứng với Command.BACK
3 ứng với Command.CANCLE
4 ứng với Command.OK
5 ứng với Command.HELP
6 ứng với Command.STOP
7 ứng với Command.EXIT
8 ứng với Command.ITEM


Bây giờ ta tìm hiểu số 1 (nằm ở chỗ vị trí cuối)

Thế này, nếu bạn có 1 command thoát, 1 command trở về. Cả 2 lệnh đều bấm phím mềm phải (RSK) để dùng thoát và trở về. 2 lệnh này sẽ không thể đè lênh nhau được mà nó sẽ gom lại thành dạng menu tùy chọn, số 1 là vị trí của lệnh trong menu đó..Làm thử rồi các bạn sẽ biết thôi.

f.addCommand(thoat);


Dùng để đăng lệnh Command lên Form

f.setCommandListener(this);


Cái lệnh này mình không biết để làm gì nhưng thiếu nó Command sẽ vô tác dụng. Nên các bạn hãy nhớ Form nào dùng Command thì phải setCommandListener(this);

public void commandAction( Command c, Displayable d) {
if (c==thoat) destroyApp(true);
}


Đây là chương trình con. Trong đây ta cài đặt chức năng này cho Command

Nếu có nhiều Command thì thế này:
if(c==cm1) {
// làm gì đó;
}
if(c==cm2){
// làm gì đó;
}


Các lệnh dùng với Command:

f.addCommand (têncm); // thêm command vào form
f.removeCommand(têncm); // xoá command khỏi form

À quên cái lệnh:
notifyDestroyed();


Lệnh này có chức năng thực hiện thoát ứng dụng, có mặt trong mọi ứng dụng, luyện tập cỡ ngàn lần là đủ.
Chia sẻ
Menu
Trực tuyến: 1 / 12