choiceelement.java
来自「J2ME上的一个播放器,可以更换皮肤.开源软件.」· Java 代码 · 共 108 行
JAVA
108 行
package inline.ui.le;
import javax.microedition.lcdui.*;
import inline.ui.ce.CanvasElement;
public class ChoiceElement extends ListElement
{
protected String text;
protected String[] textvalues;
protected int[] pkeys;
protected int selected;
public ChoiceElement(String txt, String[] tvalues, int[] ppkeys, int ssel)
{
text = txt;
textvalues = tvalues;
pkeys = ppkeys;
selected = ssel;
if (pkeys!=null) // in this case ssel is pkeys value
{
moveSelected();
}
}
private void moveSelected()
{
for(int i=0;i<textvalues.length;i++)
{
if (pkeys[i] == selected ||
(i<(textvalues.length-1)
&&
(selected >= pkeys[i] && selected < pkeys[i+1] )))
{
selected = i;
break;
}
}
// escape danger
if (selected>=textvalues.length) selected = textvalues.length-1;
if (selected<0) selected = 0;
}
public boolean keyPressedElement(int keyCode, CanvasElement parent)
{
boolean ret = false;
if (keyCode == CanvasElement.LEFT)
{
selected--;
if (selected<0) selected = textvalues.length-1;
ret = true;
}
else if (keyCode == CanvasElement.RIGHT)
{
selected++;
if (selected>=textvalues.length) selected = 0;
ret = true;
}
if (ret)
{
parent.getParent().selectPreview(this);
}
return ret;
}
public String getSelectedString()
{
return textvalues[selected];
}
public boolean deliverKeys()
{
return true;
}
public int getSelectedKey()
{
if (pkeys!=null)
{
return pkeys[selected];
}
else
{
return 0;
}
}
public void setSelectedKey(int ssel)
{
if (pkeys!=null)
{
selected = ssel;
moveSelected();
}
}
public String getString()
{
return text + " < "+textvalues[selected]+" >";
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?