快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

我的J2ME编程训练(8)??Canvas3

 

/*
 * Canvas3let.java
 *
 * Created on 2005年4月20日, 下午3:55
 */

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

/**
 *
 * @author  Administrator
 * @version
 */
public class Canvas3let extends MIDlet implements CommandListener{
    private Display aDisplay;
   
    private Command okCommand;
    private Command exitCommand;
    private Command backCommand;
   
    private TextBox aTextBox;
   
    private Alert showAlert;
   
    private Image showImage;
   
    private MyCanvas aMyCanvas;
   
    public Canvas3let(){
        exitCommand=new Command(\"退出\",Command.EXIT,1);
        okCommand=new Command(\"进入\",Command.OK,1);
        try{
            showImage=Image.createImage(\"/sohu.png\");
        }
        catch(Exception e){}
       
        showAlert=new Alert(\"Loading...\",\"载入中……\",showImage,AlertType.INFO);
       
       
        aTextBox=new TextBox(\"KeyPress Test\",
                \"按下进入键后,即可进入显示界面,可以显示所按按键\",
                25,TextField.ANY);
       
        aTextBox.addCommand(exitCommand);
        aTextBox.addCommand(okCommand);
        aTextBox.setCommandListener(this);
       
       
       
    }
    public void startApp() {
        aDisplay=Display.getDisplay(this);
        aDisplay.setCurrent(aTextBox);
    }
   
    public void pauseApp() {
    }
   
    public void destroyApp(boolean unconditional) {
    }
   
    public void commandAction(Command c , Displayable d){
        if(c==exitCommand){
            destroyApp(false);
            notifyDestroyed();
        }
        else if (c==okCommand){
           
            aMyCanvas=new MyCanvas();
            aDisplay.setCurrent(aMyCanvas);
        }
           
        }
   
   
   
    public class MyCanvas extends Canvas implements CommandListener{
       
        String keyName=\"\";
        public MyCanvas(){
            backCommand=new Command(\"后退\",Command.EXIT,1);
            addCommand(backCommand);
            setCommandListener(this);
        }
       
        public void paint(Graphics g){
           //清除屏幕
            g.setColor(0xFFFFFF);
            g.fillRect(0,0,getWidth(),getHeight());
           
            //设置字体颜色并画出所按键的名称
            g.setColor(0);
            g.drawString(keyName,100,100,Graphics.LEFT|Graphics.BOTTOM);
        }
       
        public void commandAction(Command c , Displayable d){
            if (c==backCommand){
                hideNotify();
                //aDisplay.setCurrent(aTextBox);
            }
           
        }
       
        public void keyPressed(int keyCode){
            keyName=getKeyName(keyCode);
            repaint();
        }
        
        protected void hideNotify(){
            aDisplay.setCurrent(showAlert,aTextBox);
        }
    }
}

通过这个程序,主要训练了keyPress的用法。此外,还有hideNotify()的用法,但showNotify()的用法还不是很清晰。

hideNotify()是在画布被从显示屏移除后,实现马上调用该方式。

shoNotify()是在画布显示在显示屏之前系统将先调用该方式。






返回类别: 教程
上一教程: webshpere studio application developer 中 jndi 访问DATASOURCE DB.7.2
下一教程: JAVA代码编写的30条建议

您可以阅读与"我的J2ME编程训练(8)??Canvas3"相关的教程:
· 我的J2ME编程训练(5)??ImageItem
· 我的J2ME编程联系(3)??Gauge
· 我的J2ME作品-水浒笑传之林冲演义
· 实例分析J2ME网络编程的两种方式
· 我的J2ME作品-兄弟连
    微笑服务 优质保证 索取样品