程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> 我的第一個J2ME程序

我的第一個J2ME程序

編輯:J2ME

主要演示在畫布中處理command的事件。 

在MiracleCanvas中,通過他的構造函數把MiracleMIDlet的示例傳入,以便在command事件中控制退出。

import Javax.microedition.midlet.*;
import Javax.microedition.lcdui.*;

public class MiracleMIDlet extends MIDlet...{

    Display display;
    MiracleCanvas mCanvas;
    
    public MiracleMIDlet()...{    
        if(mCanvas==null)...{
            mCanvas = new MiracleCanvas(this);
        }
    }
    
    public void startApp()...{
        
        display = Display.getDisplay(this);
        display.setCurrent(mCanvas);
    }
    
    public void pauseApp()...{
    }
    
    public void destroyApp(boolean uncondition)...{
    }
}

 

 

import Javax.microedition.lcdui.*;
public class MiracleCanvas extends Canvas implements Runnable, CommandListener...{

    MiracleMIDlet mMIDlet;
    Thread t;
    int width,height;
    
    boolean draw=false;
    
    private Command drawCommand = new Command("畫字",Command.OK, 1);
    private Command exitCommand = new Command("退出", Command.EXIT,0);
    
    public MiracleCanvas(MiracleMIDlet mMIDlet)...{
        this.mMIDlet = mMIDlet;
        width = getWidth();
        height = getHeight();
        setFullScreenMode(true);
        addCommand(drawCommand);
        addCommand(exitCommand);
        setCommandListener(this);
        t = new Thread(this);
        t.start();
    }
    
    public void run()...{
        while(true)...{
            repaint();
            try...{
                Thread.sleep(500);
            }catch(Exception e)...{
            }
        }
    }
    public void paint(Graphics g)...{
        g.setColor(0);
        g.fillRect(0,0,width,height);
        g.setColor(-1);
        g.drawString("Miracle", 64,64,20);
        
        if(draw)...{
            g.setColor(0xFF00FF);
            g.drawString("drawing...", 64, 100,20);
        }
    }
    
    
    public void commandAction(Command c, Displayable s)...{
        if(c==drawCommand)...{
            draw = !draw;
        }
        
        if(c==exitCommand)...{
            mMIDlet.destroyApp(true);
            mMIDlet.notifyDestroyed();
        }
        
    }

}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved