Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·Tomcat5.5.9的安装配置
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·hibernate配置笔记
·构建Linux下IDE环境--Eclipse篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·AOP编程入门--Java篇
·创建文件夹和文件的java代码范例
·Java常见面试题(含答案)
·Java编写的计算器程序及源代码

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
我的J2ME编程练习(8)——Canvas3

作者:未知 来源:月光软件站 加入时间:2005-5-13 月光软件站

/*
 * 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()是在画布显示在显示屏之前系统将先调用该方法。




相关文章

相关软件




月光软件程序下载编程文档电脑教程网站设计网址导航网络文学游戏天地幽默笑话生活休闲写作范文安妮宝贝
电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏热门游戏体育运动手机专区业余爱好影视沙龙
音乐天地数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区地方风情各行各业

月光软件站·版权所有