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

📄 mybutton.java

📁 J2ME编程的50个例子,适合掌上系统的编程
💻 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 + -