📄 setupstringarrayeditor.java
字号:
package inline.ui;
import inline.sys.*;
import java.util.*;
import javax.microedition.lcdui.*;
import inline.ui.le.*;
import inline.sys.*;
public class SetupStringArrayEditor extends ListFormCanvas
{
private StringElement seAdd;
private StringElement seAddCopy;
private StringElement seEdit;
private StringElement seDel;
private String optname;
private String flgname;
private String defstart;
public SetupStringArrayEditor(HostCanvas previous,
String ccaption, String ooptname, String oflgname, String ddefstart)
{
super(previous, ccaption);
optname = ooptname;
flgname = oflgname;
defstart = ddefstart;
Vector vct = new Vector();
String[] exts = (String[])Base.getOption(optname);
byte[] flgs = (byte[])Base.getOption(flgname);
for(int i = 0;i<exts.length;i++)
{
CheckElement ce = new CheckElement(exts[i].toLowerCase(),CheckElement.TYPE_2);
int flg = 1;
if (flgs!=null && i<flgs.length) flg = flgs[i];
ce.setState(flg);
vct.addElement(ce);
}
list.setLines(vct);
seAdd = new StringElement(Base.getText(0x0601));
seAddCopy = new StringElement(Base.getText(0x0602));
seEdit = new StringElement(Base.getText(0x0603));
seDel = new StringElement(Base.getText(0x0604));
Vector lst = new Vector();
lst.addElement(seEdit);
lst.addElement(seAdd);
lst.addElement(seAddCopy);
lst.addElement(seDel);
setMenu(lst);
}
protected void submit()
{
super.submit();
Vector lines = list.getLines();
int lsz = lines.size();
String[] sarray = new String[lsz];
byte[] flgs = new byte[lsz];
for(int i=0;i<lsz;i++)
{
CheckElement se = (CheckElement)lines.elementAt(i);
sarray[i] = se.getString();
flgs[i] = (byte)se.getState();
}
Base.putOption(optname, sarray);
Base.putOption(flgname, flgs);
}
public void selectPreview(Object obj)
{
super.selectPreview(obj);
if (obj == seAdd)
{
TextEditCanvas tec = new TextEditCanvas(this, defstart);
tec.focus();
menuHide();
}
if (obj == seAddCopy && list.getSelectedElement() != null)
{
TextEditCanvas tec = new TextEditCanvas(this, list.getSelectedText());
tec.focus();
menuHide();
}
if (obj == seEdit && list.getLines().size()>0)
{
TextEditCanvas tec = new TextEditCanvas(this, list.getSelectedText());
tec.setTag(1);
tec.focus();
menuHide();
}
if (obj == seDel && list.getLines().size()>0)
{
Vector vct = list.getLines();
int si = list.getSelectedIndex();
vct.removeElementAt(si);
list.setLines(vct);
if (si>0)
{
list.setSelectedIndex(si-1);
}
list.repaint();
menuHide();
}
if (obj instanceof TextEditCanvas)
{
TextEditCanvas tec = (TextEditCanvas)obj;
String text = tec.getText().toLowerCase();
if (text.length()>0)
{
Vector vct = list.getLines();
int tt = tec.getTag();
if (tt == 0)
{
CheckElement ce = new CheckElement(text, CheckElement.TYPE_2);
ce.setState(1);
vct.addElement(ce);
list.setLines(vct);
list.setSelectedIndex(vct.size()-1);
}
else
{
list.getSelectedElement().setString(text);
}
list.repaint();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -