Giao diện người dung A.Giao diện người dùng cấp cao

Một phần của tài liệu Lập Trình Trên Điện Thoại Di Động (Trang 54 - 59)

- Vòng đời của một MIDlet

3.2.3 Giao diện người dung A.Giao diện người dùng cấp cao

A.Giao diện người dùng cấp cao

· Đối tượng Display

Hình 2.16:Phân cấp lớp Display

Mỗi một MIDlet có một tham chiếu tới đối tượng Display, đối tượng này có thể trả về thông tin màn hình hiện thời: phạm vi màu hỗ trợ, độ phân giải…Và chứa những chức năng để truy vấn các đối tượng có thể hiển thị trên màn hình, là các đối tượng Displayable. Đối tượng Display có thể xem là bộ quản lý màn hình điều khiển những thông tin nào sẽ được hiển thị trên thiết bị và hiển thị khi nào. Mặc dù chỉ có duy nhất một đối tượng Display cho một MIDlet, nhưng có thể có nhiều đối tượng Displayable bên trong MIDlet cùng hiển thị ra màn hình.

Chúng ta thường sử dụng các phương thức sau của lớp Display:

MIDlet

Displayable getCurrent ( ) Lấy về đối tượng Displayable hiện hành void setCurrent (Alert alert, Displayable

nextDisplayable)

Hiển thị cảnh báo trên đối tượng Displayable hiện hành

void nextCurrent (Displayable nextDisplayable)

Hiển thị một đối tượng Displayable mới

boolean isColor ( ) Thiết bị có hỗ trợ màu int numColors ( ) Số màu mà thiết bị hỗ trợ

void callSerially ( ) Yêu cầu gọi đối tượng Runnable sau khi vẽ lại

ví dụ về tạo đối tượng Display cho một MIDlet:

import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class vd extends MIDlet { private Display di; private Form fr; public vd(){ di=Display.getDisplay(this); fr=new Form("vdform"); }

public void startApp(){ di.setCurrent(fr); }

public void pauseApp(){}

}

· Đối tượng Dislayable và Screen

Hình 3.17:Phân cấp lớp Displayable

Một đối tượng Displayable là một thành phần được hiển thị trên thiết bị. MIDP chứa 2 lớp con của lớp Displayablelà Screenvà Canvas.

Một đối tượng Screenkhông phải là một cái gì đó hiện ra trên thiết bị, mà lớp Screen này sẽ được thừa kế bởi các thành phần hiển thị ở mức cao, chính các thành phần này sẽ được hiển thị ra trên màn hình.

Canvas hay còn gọi là khung vẽ, là thành phần giao diện cấp thấp của J2me. Những thành phần giao diện cấp thấp như Canvas sẽ cho phép ta vẽ trực tiếp lên màn hình để tạo

có thể đưa được các đối tượng giao diện bậc cao mong muốn vào Form và xuất lên màn hình.

· Thành phần Form và Item

Một Form giống như một khung chứa, mọi thành phần giao diện mà ta muốn hiển thị ra màn hình đều nằm trong “khung chứa” này, và các phương thức của Form sẽ quyết định hiển thị các thành phần này khi nào và như thế nào.

Một Item là một thành phần giao diện có thể thêm vào Form. Nói chung Một Form chỉ đơn giản là một khung chứa các thành phần, mà mỗi thành phần được thừa kế từ lớp Item, bao gồm: ChoiceGroup, DateField, Gauge, ImageItem, StringItem, TextField.

- Form

Một Form không khác gì một cửa sổ, cửa sổ đó có cơ chế cuộn thả, có thể cất giữ bất cứ thành phần giao diện nào.

Form ban đầu được tạo ra sẽ chỉ là một cửa sổ trống, để có thể thêm các thành phần giao diện vào trong Form bạn cần dùng phương thức append của đối tượng Form, phương thức append này sẽ trả về một chỉ số báo nơi thành phần được định vị, thành phần đầu tiên được đưa vào cửa sổ sẽ có chỉ số là 0. Các thành phần giao diện sau khi được đưa vào trong Form sẽ được tự động sắp xếp theo thứ tự từ trái qua phải, từ trên xuống dưới.

Form có các phương thức để xác định số thành phần trên một Form và truy cập chỉ số (vị trí) của một thành phần nào đó hiện có trong Form. Form có những phương thức để chèn (insert), thay thế (replace) và xóa (delete) những đối tượng thành phần. Để có thể chèn, thay thế và xóa các thành phần một cách chính xác thì người lập trình cần xác định chỉ số (vị trí) của thành phần cần xóa, chèn hay thay thế.

Các API thường dùng với Form:

Phương thức Mô tả

Form (String s) Tạo Form với nhãn là s, nhãn này giống như title của Form.

mảng vào Form.

int append(Displayable d) Thêm thành phần Displayable vào Form.

void delete(int i) Xóa thành phần Displayable tại vị trí thứ i

void insert(int i1, Item i) Chèn Item i vào vị trí i String getLabel( ) Lấy về nhãn cho Item void setLabel (String s) Gán nhãn cho Item Ví dụ tạo ra một Form:

public vd(){

di=Display.getDisplay(this);

// tạo Form với nhãn là vdform

fr=new Form("vdform"); }

public void startApp(){

// hiển thị form đã được tạo ra trong phương thức khởi dựng //ngay khi ứng dụng bắt đầu hoạt động.

di.setCurrent(fr); }

public void pauseApp(){ }

public void destroyApp(boolean b){ }

}

Một phần của tài liệu Lập Trình Trên Điện Thoại Di Động (Trang 54 - 59)

Tải bản đầy đủ (PDF)

(142 trang)