intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Nghiên cứu JM và xây dựng ứng dụng minh họa (Đặng Nguyễn Kim Anh vs Đào Anh Tuấn) - 2

Chia sẻ: Le Nhu | Ngày: | Loại File: PDF | Số trang:59

43
lượt xem
6
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Java Mobile 4.3.2. Gauge: Gauge dùng để biểu diễn tiến độ hoàn thành một việc nào đó (download, upload...) hoặc cấp độ từ thấp đến cao (của âm lượng, độ khó...). Gauge đặc trưng bởi hai giá trị: giá trị hiện hành và giá trị cực đại cho phép. Giá trị hiện hành này luôn được duy trì giữa 0 và giá trị cực đại. Gauge gồm hai dạng: • Chế độ tương tác (Interactive mode): Trong chế độ này, đối tượng Gauge sẽ được vẽ dạng các thanh song song có chiều cao tăng dần biểu thị các cấp độ...

Chủ đề:
Lưu

Nội dung Text: Nghiên cứu JM và xây dựng ứng dụng minh họa (Đặng Nguyễn Kim Anh vs Đào Anh Tuấn) - 2

  1. Java Mobile 4.3.2. Gauge: Gauge dùng để biểu diễn tiến độ hoàn thành một việc nào đó (download, upload...) hoặc cấp độ từ thấp đến cao (của âm lượng, độ khó...). Gauge đặc trưng bởi hai giá trị: giá trị hiện hành và giá trị cực đại cho phép. Giá trị hiện hành này luôn được duy trì giữa 0 và giá trị cực đại. Gauge gồm hai dạng: • Chế độ tương tác (Interactive mode): Trong chế độ này, đối tượng Gauge sẽ được vẽ dạng các thanh song song có chiều cao tăng dần biểu thị các cấp độ từ thấp đến cao. Người sử dụng có thể điều chỉnh giá trị hiện thời của Gauge bằng các phím bấm. VD: điều chỉnh âm lượng cao thấp. Hình 4.3 Giao diện đối tượng Gauge chế độ tương tác • Chế độ không tương tác (Non-interactive mode): Đối tượng được biểu diễn dạng các thanh song song có chiều cao bằng nhau, người dùng không được phép thay đổi giá trị của nó. Người lập trình sẽ lập trình cho đối tượng này tự động cập nhật giá trị theo thời gian. 48
  2. Java Mobile Hình 4.4 Giao diện đối tượng Gauge chế độ không tương tác Các phương thức và chức năng tương ứng của lớp Gauge: Lớp Gauge: javax.microedition.lcdui.Gauge Phương thức Chức năng Gauge (String label, boolean interactive, Khởi tạo một đối tượng Gauge int maxValue, int initValue) int getValue () Lấy giá trị hiện thời của Gauge void setValue (int value) Gán giá trị cho đối tượng Gauge int getMaxValue () Lấy giá trị cực đại cho phép của Gauge void setMaxValue (int maxValue) Gán giá trị cực đại cho phép cho Gauge boolean isInteractive () Kiểm tra Gauge có thuộc chế độ tương tác không Bảng 4.5 Lớp Gauge VD: //tạo 1 biến Gauge cho phép người dùng điều chỉnh âm thanh (chế độ tương tác) Gauge gVolume= new Gauge (“Volume”, true, 6, 2); //gắn Gauge vào Form fmMain.append(gVolume); fmMain.setCommandListener(this); 49
  3. Java Mobile //tạo 1 biến Gauge biểu diễn tiến trình Download (chế độ không tương tác): Gauge gDownload = new Gauge(“Download Progress”, false, 20,1); //gắn Gauge vào Form fmMain.append(gDownload); fmMain.setCommandListener(this); //cập nhật giá trị liên tục cho Gauge bằng cách sử dụng 1 biến timer //khoảng cách mỗi lần cập nhật là 1000 mili giây Timer tTimer = new Timer(); DTTask ttTimerTask = new DTTask(); //class DTTask extends TimerTask tTimer.scheduleAtFixedRate (ttTimerTask, 0, 1000); //lớp DDTask được viết bên trong MIDlet private class DTTask extends TimerTask{ public final void run () { //nếu giá trị hiện tại của gDownload < giá trị cực đại thì tiếp tục tăng, không thì dừng lại if (gDownload.getValue() < gDownload.getMaxValue()) gDownload.setValue(gDownload.getValue()+1); else cancel(); //xoá bộ định thời } } 50
  4. Java Mobile 4.3.3. String Item: Đối tượng StringItem dùng để hiển thị 1 đoạn văn bản lên màn hình. Người dùng chỉ đựơc phép xem mà không được thay đổi nội dung đoạn văn bản này. Các phương thức và chức năng tương ứng của lớp StringItem: Lớp StringItem: javax.microedition.lcdui.StringItem Phương thức Chức năng StringItem (String label, String text) Khởi tạo một đối tượng StringItem String getText () Lấy nội dung đoạn văn bản void setText (String text) Gán nội dung đoạn văn bản cần hiển thị Bảng 4.6 Lớp StringItem Để lấy giá trị nhãn (label) hay thay đổi nội dung nhãn có thể dùng các phương thức getLabel(), setLabel(String label) của lớp Item. VD: //tạo một đối tượng StringItem StringItem siText = new StringItem(“User: ”, “John”); //gắn vào form fmMain.append(siText); ... //sau đó muốn hiển thị 1 nội dung khác, chỉ cần thay đổi label và text của đối tượng, //không cần tạo 1 đối tượng StringItem mới. siText.setLabel(“UserID: ”); siText.setText(“12345”); 51
  5. Java Mobile Hình 4.5 Giao diện đối tượng StringItem Đối tượng lớp String cũng có thể append() vào Form để hiển thị 1 đoạn văn bản nhưng không có hai phần nhãn và nội dung riêng biệt như StringItem. Tuỳ yêu cầu của chương trình mà người lập trình có thể lựa chọn đối tượng phù hợp để sử dụng. 52
  6. Java Mobile 4.3.4. TextField: Lớp TextField được sử dụng khi ứng dụng cần người dùng nhập liệu. Không chỉ nhập dữ liệu text mà còn có thể nhập số, password, địa chỉ... Để hỗ trợ cho người lập trình, MIDP đã định nghĩa sẵn một số các ràng buộc (constraints) để đối tượng tự động kiểm tra tính hợp lệ của dữ liệu nhập vào. Các ràng buộc này là các hằng lớp của lớp TextField gồm: EMAILADDR: người dùng chỉ được phép nhập dữ liệu đúng chuẩn o của một địa chỉ email. NUMERIC: chỉ được phép nhập số (có thể là âm hay dương), nếu o muốn giới hạn các giá trị được phép nhập thì ứng dụng phải tự xử lý. PASSWORD: dữ liệu nhập vào sẽ đựơc hiển thị lên màn hình với o dạng các dấu *. PHONENUMBER: dữ liệu nhập phải đúng chuẩn của số điện thoại. o URL: dữ liệu nhập phải có dạng 1 URL o và có thể được sử dụng khi kiểm tra ràng buộc cho đối tượng TextBox. Các ràng buộc này được biểu diễn với dạng một số nguyên kiểu int, giá trị được đề cập trong bảng sau: Tên ràng buộc Giá trị Biểu diễn nhị phân ANY 0 00000000 00000000 00000000 EMAILADDR 1 00000000 00000000 00000001 NUMERIC 2 00000000 00000000 00000010 PHONENUMBER 3 00000000 00000000 00000011 URL 4 00000000 00000000 00000100 PASSWORD 65536 (0x10000) 00000001 00000000 00000000 CONSTRAINT_MASK 65635 (0xFFFF) 00000000 11111111 11111111 Bảng 4.7 Các Ràng Buộc của TextField Các giá trị của ràng buộc là các số nguyên liên tục nên các ràng buộc này phải sử dụng độc lập, không được kết hợp với nhau vì có thể gây sai sót. 53
  7. Java Mobile Vd: TextField.EMAILADDR | TextField.NUMERIC = 00000000 00000000 00000001 OR 00000000 00000000 00000010 ----------------------------------------- = 00000000 00000000 00000011 = TextField.PHONENUMBER Ngoại trừ PASSWORD có thể kết hợp với một trong các ràng buộc còn lại bằng toán tử OR mà không gây nhầm lẫn cho chương trình. Vd: TextField.ANY | TextField.PASSWORD = 00000000 00000000 00000000 OR 00000001 00000000 00000000 ------------------------------------------ = 00000001 00000000 00000000 MIDP cũng cung cấp sẵn giá trị CONSTRAINT_MASK để có thể dễ dàng kiểm tra lại ràng buộc nào đã được sử dụng bằng cách dùng toán tử AND giữa giá trị ràng buộc của đối tượng TextField và CONSTRAINT_MASK Vd: tfPassword.getConstraints() 00000001 00000000 00000000 TextField.CONSTRAINT_MASK 00000000 11111111 11111111 ------------------------------------------ AND 00000000 00000000 00000000 Sau đó lấy giá trị này so sánh với các ràng buộc để biết đối tượng TextField đó đã được áp ràng buộc nào. 54
  8. Java Mobile Các phương thức và chức năng tương ứng của lớp TextField: Lớp TextField: javax.microedition.lcdui.TextField Phương thức Chức năng TextField (String label, String text, Khởi tạo đối tượng TextField với maxSize là int maxSize, int constraints) số ký tự tối đa người dùng có thể nhập và constraints là các ràng buộc khi nhập void delete (int offset, int length) Xóa length ký tự từ vị trí offset void insert (String src, int pos) Chèn chuỗi src vào TextField từ vị trí pos void insert (char[] data, int offset, Chèn các length ký tự từ vị trí offset trong int length, int position) chuỗi data vào TextField từ vị trí position void setChars (char[] data, int Gán giá trị cho TextField bằng length ký tự offset, int length) từ vị trí offset trong chuỗi data void setString (String text) Gán giá trị text cho TextField int getChars (char[] data) lấy giá trị TextField ra một mảng ký tự String getString () lấy giá trị TextField int getConstraints () Lấy giá trị ràng buộc của TextField void setConstraints (int constraints) Gán giá trị ràng buộc cho TextField int getMaxsize () Lấy kích thứơc tối đa của TextField void setMaxsize (int maxSize) Gán kích thứơc tối đa của TextField int getCaretPosition () Lấy vị trí con trỏ hiện thời int size () Lấy kích thước thật của TextField (số ký tự hiện tại của TextField) Bảng 4.8 Lớp TextField VD: //tạo các đối tượng TextField để nhập địa chỉ mail, số điện thoại TextField tfAddr = new TextField (“Addr:”,””,20,TextField.EMAILADDR); TextField tfPhone = new TextField (“Phone:”, ””, 10, TextField.PHONENUMBER); //gắn vào Form 55
  9. Java Mobile fmMain.append (tfAddr); fmMain.append (tfPhone); Hình 4.6 Giao diện đối tượng TextField 56
  10. Java Mobile 4.3.5. ChoiceGroup: Lớp ChoiceGroup được sử dụng để biểu diễn một danh sách các khả năng cho người dùng lựa chọn. ChoiceGroup kế thừa từ interface Choice, gồm hai dạng: • Cho phép chọn nhiều khả năng (Multiple ): Thể hiện danh sách các khả năng lên màn hình dạng checkbox và cho phép người đánh dấu check lên các lựa chọn. • Chỉ được phép chọn một khả năng (Exclusive ): Thể hiện danh sách các khả năng lên màn hình cùng các radio button và chỉ cho phép người dùng chọn duy nhất một khả năng. Các phương thức và chức năng tương ứng của lớp ChoiceGroup: Lớp ChoiceGroup: javax.microedition.lcdui.ChoiceGroup Phương thức Chức năng ChoiceGroup (String label, int Khởi tạo đối tượng ChoiceGroup v ới choiceType) choiceType là loại lựa chọn Choice.EXCLUSIVE hay Choice.MULTIPLE Với Exclusive ChoiceGroup phần tử đầu tiên tự động được gán là phần tử được chọn. ChoiceGroup (String label, int Khởi tạo đối tượng ChoiceGroup, cho trước choiceType, String[] strElements, các khả năng lựa chọn và biểu tượng của từng Image[] iElements) khả năng int append (String strPart, Image Thêm một phần tử (1 khả năng) vào iPart) ChoiceGroup (vào cuối danh sách) int delete (int position) Xoá phần tử ở vị trí position của ChoiceGroup void insert (int position, String Chèn một phần tử vào vị trí position strPart, Image iPart) void set (int position, String Gán giá trị và biểu tượng cho phần tử ở vị trí strPart, Image iPart) position 57
  11. Java Mobile String getString (int position) Lấy giá trị của phần tử ở vị trí position Image getImage (int position) Lấy biểu tượng của phần tử ở vị trí position int getSelectedIndex () Lấy vị trí của phần tử được chọn void setSelectedIndex (int MULTIPLE: gán giá trị được chọn hay không position, boolean selected) (selected) cho phần tử ở vị trí position EXCLUSIVE: gán giá trị cho phần tử ở vị trí position là được chọn (không phụ thuộc giá trị selected) int getSelectedFlags (boolean[] Lưu thông tin kết quả lựa chọn vào mảng selectedArr) void setSelectedFlags (boolean[] Gán kết quả lựa chọn cho đối tượng selectedArr) ChoiceGroup boolean isSelected (int position) Kiểm tra phần tử ở vị trí position có được chọn không int size () Lấy số phần tử của ChoiceGroup Bảng 4.9 Lớp ChoiceGroup *Bắt sự kiện cho đối tượng ChoiceGroup: Có thể dùng hai cách để bắt sự kiện cho đối tượng ChoiceGroup: • ItemStateListener: khi Form chứa đối tượng ChoiceGroup đã gọi phương thức setItemStateListener() thì khi người dùng chọn vào bất cứ khả năng nào, phương thức itemStateChanged() sẽ được gọi thực hiện. Cách này nên dùng cho ChoiceGroup dạng chỉ cho phép chọn một khả năng hoặc một số trường hợp đặc biệt • CommandListener: Khi gắn đối tượng ChoiceGroup vào Form thì tạo thêm một Command (tên là “OK” chẳng hạn). Khi người dùng chọn xong thì nhấn chọn Command này và chương trình sẽ gọi phương thức commandAction() để xử lý. Cách này có thể sử dụng để bắt sự kiện cho cả hai loại ChoiceGroup cũng như các đối tượng Item khác. Vd: 58
  12. Java Mobile //Tạo một đối tượng ChoiceGroup chỉ cho phép chọn một khả năng: ChoiceGroup cgExclusive = new ChoiceGroup( “Email Options”, Choice.EXCLUSIVE); //lần lượt thêm các phần tử cho đối tượng, không kèm biểu tượng cgExclusive.append(“Read”, null); cgExclusive.append(“Forward”, null); int iReplyIndex = cgExclusive.append(“Reply”, null); cgExclusive.append(“Delete”, null); //gán “Reply” là phần tử được chọn cgExclusive.setSelectedIndex(iReplyIndex, true); //gắn vào Form fmMain.append(cgExclusive); fmMain.setItemStateListener(this); .... //bắt sự kiện public void itemStateChanged(Item item) { if (item==cgExclusive) { ... } } Hình 4.7 Giao diện đối tượng ChoiceGroup chế độ một lựa chọn 59
  13. Java Mobile //tạo 1 đối tượng ChoiceGroup cho phép chọn nhiều khả năng: ChoiceGroup cgMultiple = new ChoiceGroup( “Multiple Choice”, Choice.MULTIPLE); //lần lượt thêm các phần tử cho đối tượng, không kèm biểu tượng cgMultiple.append(“Auto Indent”, null); cgMultiple.append(“Replace Tabs”, null); cgMultiple.append(“Wrap Text”, null); //tạo 1 command OK để bắt sự kiện Command cmOK = new Command (“OK”, Command.Screen, 1); //gắn vào Form int iChoiceGroupIndex = fmMain.append(cgMultiple); fmMain.addCommand(cmOK); fmMain.setCommandListener(this); .... //xử lý sự kiện public void commandAction (Command c, Displayable d) { if (c==cmOK) { ... } } Hình 4.8 Giao diện đối tượng ChoiceGroup chế độ nhiều lựa chọn 60
  14. Java Mobile 4.3.6. Image và ImageItem: 4.3.6.1. Image: Chứa dữ liệu ảnh đồ hoạ, gồm hai dạng : • Cố định (Immutable): thường đựơc nạp từ resource của ứng dụng, từ file hay chuyển từ dạng Image có thể thay đổi (Mutable) sang. Dạng hình ảnh này chủ yếu được dùng làm biểu tượng cho các thành phần đồ hoạ khác như ChoiceGroup, Form, List, Alert....Một khi đã tạo đối tượng kiểu Immutable Image thì không thể thay đổi hình ảnh đựơc nữa. • Có thể thay đổi (Mutable): có thể thay đổi một cách dẽ dàng. Khi tạo đối tượng kiểu Mutable Image, một vùng nhớ trống sẽ được cấp phát dựa trên kích thước khi khai báo. Khi muốn hiển thị Image dạng này lên màn hình phải gọi phương thức paint() của lớp Canvas sẽ được đề cập trong phần đồ hoạ cấp thấp. Các phương thức và chức năng tương ứng của lớp Image: Lớp Image: javax.microedition.lcdui.Image Phương thức Chức năng static Image createImage (String Tạo một đối tượng Immutable Image từ name) resource static Image createImage (Image Tạo một đối tượng Immutable Image từ một source) đối tượng Image source khác static Image createImage (byte[] Tạo một đối tượng Immutable Image từ mảng data, int offset, int length) dữ liệu (lấy length bytes từ vị trí offset của mảng byte data) static Image createImage (int tạo một đối tượng Mutable Image, cho trứơc width, int height) kích thứơc dài rộng của ảnh Graphics getGraphics () Lấy đối tượng Graphics tương ứng của Mutable Image 61
  15. Java Mobile int getHeight () Lấy chiều cao của đối tượng Image int getWidth () Lấy chiều rộng của đối tượng Image boolean isMutable () kiểm tra đối tượng có là Mutable Image không Bảng 4.10 Lớp Image 4.3.6.2. ImageItem: Lớp ImageItem cung cấp các phương thức để điều khiển và sắp xếp các đối tượng Image đựơc gắn trong Form. Lớp ImageItem đã cung cấp sẵn các định dạng vị trí sẵn cho hình ảnh, bao gồm: Định dạng Giá trị nhị phân Ý nghĩa LAYOUT_DEFAULT 00000000 00000000 dùng định dạng mặc định của thiết bị LAYOUT_LEFT 00000000 00000001 canh trái LAYOUT_RIGHT 00000000 00000010 canh phải LAYOUT_CENTER 00000000 00000011 canh giữa LAYOUT_NEWLINE_BEFORE 00000001 00000000 xuống hàng trước khi vẽ Image LAYOUT_NEWLINE_AFTER 00000010 00000000 xuống hàng sau khi vẽ Image. Bảng 4.11 Định dạng ImageItem Các định dạng trên có thể dùng kết hợp với nhau trong một đối tượng ImageItem bằng phép toán OR . Vd: ImageItem.LAYOUT_RIGHT 00000000 00000010 ImageItem.LAYOUT_NEWLINE_AFTER 00000010 00000000 -------------------------------------- logical OR 00000010 00000010 62
  16. Java Mobile Các phương thức và chức năng tương ứng của lớp ImageItem: Lớp ImageItem: javax.microedition.lcdui.ImageItem Phương thức Chức năng ImageItem (String label, Image Tạo một đối tượng ImageItem từ đối tượng img, int layout, String altText) Image img, với định dạng layout, và chuỗi thay thế altText(chuỗi này dùng thay thế cho image khi không thể hiện được lên màn hình thiết bị) Image getImage () Lấy đối tượng Image của ImageItem void setImage (Image img) Gán đối tượng Image cho ImageItem int getLayout() Lấy giá trị định dạng của ImageItem void setLayout (int layout) Gán giá trị định dạng cho ImageItem String getAltText () Lấy giá trị chuỗi thay thế void setAltText () Gán giá trị chuỗi thay thế Bảng 4.12 Lớp ImageItem Vd: //tạo Immutable Image từ File và hiển thị trong Form Image img = Image.createImage(“image.png”); //.png (Portable NetWork Graphics) là định dạng file ảnh trong thiết bị di động ImageItem imageItem = new ImageItem (null, img, ImageItem.LAYOUT_CENTERImageItem.LAYOUT_NEWLINE_BEFORE,null); fmMain.append(imageItem); //tạo đối tượng ChoiceGroup có các biểu tượng tương ứng cho các khả năng lựa chọn Image image[] = { Image.createImage(“/up.png”), Image.createImage(“/down.png”), Image.createImage(“/help.png”)} ; String options[] = {“Upload”, “Download”, “Help”}; //Tạo đối tượng ChoiceGroup dùng mảng ChoiceGroup cgImage = new ChoiceGroup (“Select option”, Choice.EXCLUSIVE, options, images); 63
  17. Java Mobile 4.4. List: List dùng để hiển thị các danh sách các khả năng cho người dùng lựa chọn. List gồm 3 dạng: • Multiple: cho phép người dùng lựa chọn nhiều khả năng, tương tự Multiple ChoiceGroup. • Exclusive: cho phép người dùng lựa chọn duy nhất một khả năng, tương tự Exclusive ChoiceGroup. • Implicit: chỉ hiển thị danh sách các khả năng lựa chọn dạng menu. * Bắt sự kiện cho các đối tượng List: Để bắt sự kiện cho đối tượng List, phải gán đối tượng ở trạng thái lắng nghe, nghĩa là sử dụng phương thức setCommandListener() cho đối tượng List này. Sau đó bắt sự kiện và xử lý sự kiện trong phương thức commandAction(). Exclusive và multiple List không tự động gửi sự kiện. Do đó, ta phải gắn một command (vd: command Save)vào đối tượng List để lấy trạng thái của đối tượng sau khi người dùng lựa chọn. Khi người dùng chọn command Save tức người dùng đã chọn xong các khả năng, ta sẽ bắt sự kiện này và xử lý sự kiện trong phương thức commandAction(). Implicit List gửi sự kiện mỗi khi người dùng lựa chọn một phần tử trong List. Khi đó, nếu đã gán listener cho đối tượng thì sự kiện phát sinh sẽ gọi phương thức commandAction(). * So sánh giữa lớp List và lớp ChoiceGroup: Giống nhau: • Cả hai đều kế thừa từ interface Choice • Cả hai đều cho phép tạo đối tượng hỗ trợ một lựa chọn duy nhất(radio button ) hoặc nhiều lựa chọn (checkbox). • Có thể thêm các đối tượng Command khác hiển thị cùng lúc trên màn hình để hỗ trợ việc bắt sự kiện. Khác nhau: 64
  18. Java Mobile ChoiceGroup List Hiển thị trên ChoiceGroup là 1 phần của List là thực thể duy nhất hiển Form. Nghĩa là có thể có các thị trên màn hình. màn hình thành phần giao diện khác được hiển thị đồng thời với ChoiceGroup ChoiceGroup gồm 2 dạng: List gồm 3 dạng: Phân loại MULTIPLE (check box), MULTIPLE (check box), EXCLUSIVE (radio button) EXCLUSIVE (radio button) và IMPLICIT (menu) 2cách: Chỉ có 1 cách duy nhất là dùng Bắt sự kiện ItemStateListener: gọi phương CommandListener. List gọi thức itemStateChanged()) khi commandAction() để bắt sự người dùng lựa chọn một phần kiện (Implicit List tự gọi hàm tử bất kỳ. này khi người dùng chọn 1 CommandListener: gắn một phần tử bất kỳ, 2 dạng List còn Command để lắng nghe và gọi lại phải thêm 1 command để phương thức commandAction() bắt) khi có sự kiện phát sinh Bảng 4.13 So sánh List và ChoiceGroup Các phương thức và chức năng tương ứng của lớp List: Lớp List: javax.microedition.lcdui.List Phương thức Chức năng List (String title, int listType) Tạo một đối tượng List rỗng (chưa có các phần tử) với listType thuộc 1 trong 3 dạng: Choice.IMPLICIT, Choice.EXPLICIT, Choice.MULTIPLE. List (String tile, int listType, Tạo một đối tượng List cho trước phần tử và String[] strElements, Image[] biểu tượng dưới dạng mảng strElements và 65
  19. Java Mobile imElements ) imElements. int append (String strPart, Image Thêm một phần tử vào cuối danh sách imPart) void delete (int position) Xoá một phần tử ở vị trí position void insert (int position, String Chèn một phần tử vào vị trí position strPart, Image imPart) void set (int position, String strPart, Gán giá trị (thay thế bằng phần tử mới) cho Image imPart) phần tử ở vị trí position String getString (int position) Lấy giá trị phần tử ở vị trí position Image getImage (int position) Lấy biểu tượng phần tử ở vị trí position int getSelectedIndex () Lấy vị trí phần tử được chọn void setSelectedIndex (int position, MULTIPLE: gán giá trị được chọn hay boolean selected) không (selected) cho phần tử ở vị trí position EXCLUSIVE, IMPLICIT: gán giá trị cho phần tử ở vị trí position là được chọn (không phụ thuộc giá trị selected) int getSelectedFlags (boolean[] Lưu thông tin kết quả lựa chọn vào mảng selectedArr) void setSelectedFlags (boolean[] Gán kết quả lựa chọn cho đối tượng List selectedArr) boolean isSelected (int position) Kiểm tra phần tử ở vị trí position có được chọn không int size () Lấy số phần tử của List Bảng 4.14 Lớp List VD: //tạo đối tượng Implicit List với các phần tử cho trước: //tạo mảng các phần tử String options[]={“Next”, “Previous”, “New”}; //tạo mảng các biểu tượng Image images[]={Image.createImage(“/next.png”), 66
  20. Java Mobile Image.createImage(“/prev.png”), Image.createImage(“/new.png”),} List lsImplicit = new List (“Document option:”, Choice.IMPLICIT, options, images); //gán đối tượng vào trạng thái lắng nghe lsImplicit.setCommandListener(this); //bắt sự kiện và xử lý public void commandAction(Command c, Displayable s) { if (c == List.SELECT_COMMAND) { switch (lsImplicit.getSelectedIndex()) { case 0: System.out.println("Next"); break; case 1: System.out.println("Previous"); break; case 2: System.out.println("New"); break; } } } Hình 4.9 Giao diện đối tượng List dạng menu 67
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2