[J2ME] Bài 8: Image

Image là một lệnh dùng để hiển thị ảnh nó có thể dùng cho Form hoặc Canvas (sau này sẽ học đến).

Bài này cũng không khó nên mình chỉ nói sơ qua để anh em hiểu cho phần Canvas sau này vì Image trên Form không được sử dụng nhiều.

Cấu trúc khai báo:

Cấu trúc khai báo của Image hơi ngớ ngẩn, đầu tiên ta cần khai báo:

Image im;

Ngang hàng với Form sau đó mới dùng:

try{
im = Image.createImage("/icon.png");
}
catch(Exception e){}

để khai báo trong chương trình con startApp nhớ là phải để trong startApp mới có tác dụng, nhiều bạn sẽ hỏi tại sao lại có cả try và catch để làm gì. Cái này mình cũng không rõ lắm nhưng các bạn cứ hiểu là để bắt lỗi nếu không tìm thấy ảnh trong zip, cái này không cần hiểu sâu xa mà cứ bao giờ khai báo Image là phải có kể cả trong Canvas.

Để khai báo nhiều Image:
Ta sẽ thêm nhiều

im=Image.createImage("/icon.png");

vào trong try/catch… Chứ k phải viết ra nhiều try{ …bla bla

VD:

try{
im1 = Image.createImage("/a1.png");
im2 = Image.createImage("/a2.png");
....
} catch(Exception e){}

Còn /icon.png kia là đường dẫn của hình ảnh mà ta nén cùng, cái này chắc nhiều bạn biết rồi nên mình nói qua vậy thôi.

Gắn Image lên Form:

Gắn Image lên Form thì cũng như các đối tượng khác ta cũng dùng:

f.append(im);

trong đó im là tên ta đã khai báo cho Image ở trên..

Xem đoạn mã dưới để hiểu hơn:

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

public class HelloWorld extends MIDlet{

Form f = new Form("tên form");
Image im;

public void startApp(){
try{
im = Image.createImage("/icon.png");
}
catch(Exception e){}
f.append(im);
Display.getDisplay(this).setCurrent(f);
}

public void pauseApp(){}
public void destroyApp(boolean unconditional){ }
}

P/s: Nén cả file ảnh vào thư mục src nếu dùng Mobile Eclipse.

Nếu bạn dùng J2me Sdk Mobile thì copy file ảnh vào thư mục j2mesdkprojects/tên project/src