⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setupstringarrayeditor.java

📁 J2ME上的一个播放器,可以更换皮肤.开源软件.
💻 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 + -