📄 trmenu.java.svn-base
字号:
package test;
import java.util.Vector;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.midlet.MIDletStateChangeException;
import wFramework.Map;
import wFramework.MapInputListener;
import wFramework.ResultSet;
import wFramework.wFramework;
import wFramework.MapOverlay;
public class TrMenu extends MapOverlay implements MapInputListener
{
private Map map;
private wFramework wf;
private boolean visible;
private int selitem;
private String mainmenu[];
private String currentmenu[];
public TrMenu(wFramework wf, Map map)
{
super(map, null, null);
this.wf = wf;
this.map = map;
visible = false;
selitem = 0;
mainmenu = new String[4];
mainmenu[0] = "Tags";
mainmenu[1] = "Fotograf";
mainmenu[2] = "舝";
mainmenu[3] = "Avslutt program";
currentmenu = mainmenu;
}
public void paint(Graphics g)
{
g.setColor(0x0);
if (TrBilde.background != null)
g.drawImage(TrBilde.background, 0, 0, Graphics.LEFT | Graphics.TOP);
g.drawString("Valg", map.getWidth() / 2, 4, Graphics.HCENTER | Graphics.TOP);
int y = g.getFont().getHeight() + 6;
int x = 6;
for (int i = 0; i < currentmenu.length; i++)
{
if (i == selitem)
g.setColor(0xC0C0FF);
else
g.setColor(0xFFFFFF);
g.fillRoundRect(2, y, map.getWidth() - 5, g.getFont().getHeight(), 8, 8);
g.setColor(0x808080);
g.drawRoundRect(2, y, map.getWidth() - 5, g.getFont().getHeight(), 8, 8);
g.setColor(0x00);
g.drawString(currentmenu[i], x, y, Graphics.LEFT | Graphics.TOP);
y += g.getFont().getHeight();
}
}
public void destroyApp(boolean conditional) throws MIDletStateChangeException
{
wf.getSession().logout();
}
public void exitApp()
{
try
{
destroyApp(true);
}
catch (MIDletStateChangeException e)
{
}
}
public void toggleVisible()
{
if (visible)
hide();
else
show();
}
public void show()
{
if (visible) return;
visible = true;
map.addOverlay(this);
map.addKeyListener(this);
map.disableCursor();
map.repaint();
}
public void hide()
{
visible = false;
map.removeOverlay(this);
map.removeKeyListener(this);
map.enableCursor();
map.repaint();
}
public void onKeyPressed(int key)
{
switch (key)
{
case Canvas.UP:
selitem = Math.max(selitem - 1, 0);
map.repaint();
break;
case Canvas.DOWN:
selitem = Math.min(selitem + 1, currentmenu.length - 1);
map.repaint();
break;
case Canvas.FIRE:
if (currentmenu == mainmenu)
{
switch (selitem)
{
case 3:
Main.instance.exitApp();
break;
}
}
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -