?? arrayelementeditor.java
字號:
import javax.microedition.lcdui.*;
import javax.microedition.pim.*;
/**
* ArrayElementEditor類是個數組字段編輯器,提供了數組字段的視圖,和編輯命令。
*/
public class ArrayElementEditor extends MicroComponent implements CommandListener {
//
private Cardcase cardcase;
private Contact card;
private int field;
private CardcaseMIDlet midlet;
private MicroComponent backScreen;
private int[] elemIndices;
private Form elementView; //數組元素視圖
private Command cmdSave = new Command("確定", Command.OK, 2);
private Command cmdCancel = new Command("取消", Command.CANCEL, 1);
//構造方法
public ArrayElementEditor(Cardcase cardcase, Contact card, int field, CardcaseMIDlet midlet, MicroComponent backScreen) {
this.cardcase = cardcase;
this.card = card;
this.field = field;
this.midlet = midlet;
this.backScreen = backScreen;
String fieldLabel = cardcase.getFieldLabel(card, field);
elementView = new Form(fieldLabel);
elementView.addCommand(cmdSave);
elementView.addCommand(cmdCancel);
elementView.setCommandListener(this);
}
public void show() {
elemIndices = cardcase.getArrayElementIndices(card, field);
String[] a = card.getStringArray(field, 0);
for(int i=0; i<elemIndices.length; i++) {
int index = elemIndices[i];
String elemLab = cardcase.getArrayElementLabel(card, field, index);
elementView.append(new TextField(elemLab, a[index], 80, TextField.ANY));
}
Display.getDisplay(midlet).setCurrent(elementView);
}
public void commandAction(Command cmd, Displayable d) {
if(cmd == cmdSave) {
String[] a = new String[elemIndices.length];
int n = elementView.size();
for(int i=0; i<n; i++) {
int index = elemIndices[i];
a[index] = ((TextField)elementView.get(i)).getString().trim();
}
card.setStringArray(field, 0, PIMItem.ATTR_NONE, a);
}
backScreen.show();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -