📄 mybutton.java
字号:
package demo;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.GameCanvas;
import javax.microedition.lcdui.game.Sprite;
public class MyButton {
//定义一组表示按钮类型值
public static final int BUTTON_START = 0; //开始按钮
public static final int BUTTON_EXIT = 1; //退出按钮
public static final int BUTTON_TYPE_NUM = 2; //按钮种类总数
private int m_nType = BUTTON_START; //当前选择的按钮类型
private Sprite m_ButtonSp; //按钮精灵图像
//构造方法
public MyButton(){
try{//创建按钮
Image img = Image.createImage("/demo/button.png");
m_ButtonSp = new Sprite(img, 41, 21);
}
catch (Exception ex){}
}
//处理按键的输入,返回选择的按键类型
public int Input(int keyStates){
if( ( keyStates & GameCanvas.UP_PRESSED ) != 0 )
{//选择上一个按钮
if( m_nType > 0 )
m_nType --;
}
if( ( keyStates & GameCanvas.DOWN_PRESSED ) != 0 )
{//选择下一个按钮
if( m_nType < BUTTON_TYPE_NUM - 1 )
m_nType ++;
}
if( ( keyStates & GameCanvas.FIRE_PRESSED ) != 0 )
{//按下当前选择的按钮
return m_nType;
}
return -1; //返回-1表示未选择任何按钮
}
//显示按钮
public void Paint(Graphics g, int scrWidth, int scrHeight){
int h = m_ButtonSp.getHeight() + 2;
int x = 15;
int y = 15;
for( int n = 0; n < BUTTON_TYPE_NUM; n ++ )
{
if( m_nType == n )
{//显示高亮的按钮
m_ButtonSp.setFrame(n);
}
else
{//显示灰色按钮
m_ButtonSp.setFrame(n + BUTTON_TYPE_NUM);
}
m_ButtonSp.setPosition(x, y);
m_ButtonSp.paint(g);
y = y + h;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -