📄 maincanvas.java
字号:
package demo;
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.game.GameCanvas;
public class MainCanvas extends GameCanvas implements Runnable{
private boolean m_bRunning; //控制项目运行
public int m_nWidth = 50; //显示宽度
public Font m_Font; //存储字体
public MainCanvas(){
super(true);
//创建字体,如果创建失败,则采用系统默认字体
try{
m_Font = Font.getFont(Font.FACE_SYSTEM,
Font.STYLE_PLAIN, Font.SIZE_LARGE );
}catch(Exception e){
m_Font = Font.getDefaultFont();
}
Start(); //启动线程
}
public void Start(){
m_bRunning = true;
Thread thread = new Thread(this); //分配新线程
thread.start(); //线程启动
}
public void run() { //新线程自动调用此方法
//获得系统当前时间,并将时间换算成毫秒
long T1 = System.currentTimeMillis();
long T2 = T1;
while(m_bRunning){
T2 = System.currentTimeMillis();
if( T2 - T1 > 100 ){ //间隔100毫秒
T1 = T2;
Input();
Logic();
Paint();
}
}
}
public void Stop(){ //终止游戏
m_bRunning = false;
}
public void Input(){
int keyStates = getKeyStates(); //获取当前按键状态
//如果按下方向键的上键,则调整显示宽度
if( ( keyStates & GameCanvas.UP_PRESSED ) != 0 )
m_nWidth = m_nWidth +10;
//如果按下方向键的下键,则调整显示宽度
if( ( keyStates & GameCanvas.DOWN_PRESSED ) != 0 )
m_nWidth = m_nWidth -10;
}
public void Logic(){
}
public void Paint(){
Graphics g = getGraphics();
//用黑色清屏
g.setColor(0x00000000);
g.fillRect( 0, 0, getWidth(), getHeight() );
g.setFont(m_Font);
g.setColor(0x00FFFFFF);
TextAjust.AjustDrawString(g,
"我要自动换行我要自动换行我要自动换行我要自动换行",
m_nWidth, 20, 20, 15 );
flushGraphics();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -