📄 myui.java
字号:
package demo;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.GameCanvas;
public class MyUI {
//定义一组表示界面显示状态的数值
public static final int UI_TITLE = 0; //显示标题画面
public static final int UI_HELP = 1; //显示帮助画面
public static final int UI_BUTTON = 2; //只显示按钮
public static final int UI_HIDE = 3; //隐藏界面
public static final int UI_STATE_NUM = 4; //界面状态总数
private int m_nState = UI_TITLE; //当前的界面类型
private Image m_TitleImg; //标题画面图像
private Image m_HelpImg; //帮助画面图像
private MyButton m_Button;
public MyUI(MyButton button){
m_Button = button;
try{ //读取标题图像
m_TitleImg = Image.createImage("/demo/title.png");
}
catch (Exception ex){}
try{ //读取帮助图像
m_HelpImg = Image.createImage("/demo/help.png");
}
catch (Exception ex){}
}
/*****
* 获取当前的界面显示类型
* @返回:当前界面的显示类型
*/
public int getState(){
return m_nState;
}
/*****
* 设置当前的界面显示类型,并进行出错处理
* @参数 nType.........要设置的显示类型
*/
public void setState( int state ){
if( state < 0 || state >= UI_STATE_NUM )
return;
m_nState = state;
}
public MyButton getButton(){
return m_Button;
}
/*****
* 处理按键的输入
* @参数 keyStates.....当前的按键状态
* @返回所选按钮的类型
*/
public int Input( int keyStates ){
int type = -1;
switch( m_nState ){
case UI_TITLE:
case UI_BUTTON:
{
type = m_Button.Input(keyStates);
switch(type){
case MyButton.BUTTON_CONTINUE:
case MyButton.BUTTON_START:
setState(UI_HIDE);
break;
case MyButton.BUTTON_HELP:
setState(UI_HELP);
}
}
break;
case UI_HELP:
if( ( keyStates & GameCanvas.FIRE_PRESSED ) != 0 )
setState(UI_TITLE);
break;
case UI_HIDE:
break;
}
return type;
}
/*****
* 显示界面内容
* @参数 g.............对应显示屏幕
* @参数 scrWidth......屏幕的宽
* @参数 scrHeight.....屏幕的高
*/
public void Paint( Graphics g, int scrWidth, int scrHeight ){
int x = scrWidth;
int y = scrHeight;
switch( m_nState ){
case UI_TITLE: //显示标题画面
if( m_TitleImg != null ){
x = ( x - m_TitleImg.getWidth() ) / 2;
y = ( y - m_TitleImg.getHeight() ) / 2;
g.drawImage(m_TitleImg, x, y, 0 );
}
m_Button.Paint(g, scrWidth, scrHeight);
break;
case UI_HELP: //显示帮助画面
if( m_HelpImg != null ){
x = ( x - m_HelpImg.getWidth() ) / 2;
y = ( y - m_HelpImg.getHeight() ) / 2;
g.drawImage(m_HelpImg, x, y, 0 );
}
break;
case UI_BUTTON: //只显示按钮
m_Button.Paint(g, scrWidth, scrHeight);
break;
case UI_HIDE: //隐藏界面
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -