Vẽ trên đối tượng Canvas:

Một phần của tài liệu LẬP TRÌNH ỨNG DỤNG MOBILE BẰNG JAVA (Trang 68 - 70)

Canvas và Screen là hai lớp con của lớp Displayable nên cùng kế thừa phương thức abstract paint() trong lớp Screen và các lớp con của nó đã được dựng sẵn để vẽ các đối tượng đồ họa cấp cao (title, ticker, form, texrbox, list, alert….) lên màn hình thì trong lớp Canvas, phương thức này vẫn được khai báo với từ khóa abstract, nghĩa là phải viết xử lý cho phương thức này ở lớp con của Canvas (lớp kế thừa mà ta xây dựng để vẽ lên màn hình).

abstract public class Displayable {

abstract void paint(Graphics g); }

public abstract class Canvas extends Displayable {

abstract void paintContent(Graphics g); paint(Griphics g) { // Gắn thêm ……… PaintContent(g); } }

public class Form extends Screen {

void paintContent(Graphics g){// ……… } }

public class List extends Screen implements Choice {

void paintContent(Graphics g) { // ………} }

{

void paintContent(Graphics g) { // ………..} }

Phương thức của đối tượng canvas.

Dưới đây là các phương thức dùng để vẽ của đối tượng canvas, những phương thức này nằm trong lớp javax.microedition.lcdui.Canvas.

Bảng 28:Các phương thức hỗ trợ vẽ của lớp Canvas.

Phương thức Mô tả

abstract void paint(Graphics) Vẽ một đối tượng lên canvas.

final void repaint() Yêu cầu vẽ lại canvas.

final void repaint(int x, int y, int width, int height)

Yêu cầu vẽ lại canvas với vị trí (x,y) và kích thước (width, height).

final void serviceRepaints() Xử lý các yêu cầu vẽ còn treo lại.

boolean isDoubleBuffered() Kiểm tra thiết bị có hỗ trợ 2 buffered hay không.  Phương thức paint() dùng để xử lý các sự kiện vẽ trong đối tượng Canvas.

Nhưng khi cần yêu cầu thiết bị vẽ lại màn hình không gọi trực tiếp phương thức này mà gọi phương thức repaint(). Phương thức repaint() này sẽ gọi hàm paint() để vẽ lại toàn bộ hay một phần màn hình.

 Phương thức ServiceRepaint() yêu cầu tất cả các yêu cầu vẽ trước đó phải được thực hiện ngay. Do đó, khi gọi phương thức này các tiến trình khác sẽ bị block cho đến khi tất cả các phương thức vẽ thực hiện.

Bảng 29:Các phương thức hỗ trợ giao tiếp với Application Manager.

Phương thức Chức năng

Void showNotify () Được gọi trước khi application manager vẽ đối tượng

canvas lên màn hình

Void hideNotify () Được gọi sau khi application manager xoá đối tượng

canvas khỏi màn hình

Các phương thức này được khi báo trong lớp Canvas với kiểu protected. protected void showNotify() { // ……. }

Và được gọi bởi application manager trước khi vẽ và sau khi xóa đối tượng Canvas lên màn hình. Do đó, không gọi trực tiếp các phương thức này trong chương trình. Mà chỉ nên viết code trong các phương thức này để cấp phát, khởi tạo các biến cũng như tạo lập hay hủy các tiến trình xử lý cho việc vẽ các đối tượng lên Canvas.

Một phần của tài liệu LẬP TRÌNH ỨNG DỤNG MOBILE BẰNG JAVA (Trang 68 - 70)

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

(156 trang)