📄 listbox.java
字号:
package com.ismyway.fairyui;
import javax.microedition.lcdui.Command;
import com.ismyway.util.ArrayList;
public class ListBox extends Row {
private boolean multiple = false;
ValueChangeListener itemListener = null;
public ListBox() {
}
public ListBox(boolean radioType) {
this.multiple = radioType;
}
public void add(ListElement el) {
el.addCommand(new Command("" + components.size(), Command.OK, 1));
el.setType(multiple);
el.setContainer(this);
super.add(el);
}
public ArrayList getCheckedElements() {
ArrayList res = new ArrayList();
for (int i = 0; i < components.size(); ++i) {
ListElement e = (ListElement) components.get(i);
if (e.isChecked()) {
res.add(e);
}
}
return res;
}
public int getCheckedIndex() {
for (int i = 0; i < components.size(); ++i) {
ListElement e = (ListElement) components.get(i);
if (e.isChecked()) {
return i;
}
}
return -1;
}
public ListElement getCheckedItem() {
for (int i = 0; i < components.size(); ++i) {
ListElement e = (ListElement) components.get(i);
if (e.isChecked()) {
return e;
}
}
return null;
}
public boolean generateEvent() {
int index = Integer.parseInt(getCommand().getLabel());
if (multiple) {
for (int i = 0; i < components.size(); i++) {
((ListElement) components.get(i)).setChecked(false);
}
((ListElement) components.get(index)).setChecked(true);
} else {
ListElement le = (ListElement) components.get(index);
le.setChecked(!le.isChecked());
}
if (null != itemListener) {
itemListener.valueChanged(this);
}
return true;
}
public boolean isMultiple() {
return multiple;
}
public void setMultiple(boolean multiple) {
this.multiple = multiple;
}
public ValueChangeListener getItemListener() {
return itemListener;
}
public void setItemListener(ValueChangeListener itemListener) {
this.itemListener = itemListener;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -