网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > J2EE/J2ME
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.大规模的财政应用和面向服务的体.
.J2ME联网中采用序列化机制.
.KVM的类加载.
.使用Hibernate处理数据.
.用Spring改进J2EE编程.
.J2EE应用中与Oracle数据库的连接.
.将TOC从XML带到DHTML.
.J2EE应用服务器Jboss + Tomcat安.
.游戏过场动画效果.
.在Spring中配置非Singleton.
.JSR 184:3D坐标系和定位总结.
.JavaMail快速入门-5.
.RMS从入门到精通之二.
.高可靠性移动应用程序-移动数据.
.RMS概念解析与使用指南.
.使用EJB3.0简化企业级Java开发,第.
.如何给Log4j配上数据库连接池.
.J2ME简介.
.保护自己的MIDlet程序之三:SNPr.
.J2EE的展现层设计:Applets、serv.

Canvas及其支持的按键事件测试小例

发表日期:2007-12-23



  点了模拟器的Select键,然后上下左右调整就可以选开始画一个立体的按钮.再点一下Select键,上下左右键就可以控制按钮的移动了.

import Javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Ticker;
/*
* Created on 2005-1-29
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/

/**
* @author jeremy chow
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class FullCanvasTest extends Canvas implements CommandListener
{
    protected boolean pressed, drew;
    int x = 50 ; int y = 50; int w = 1; int h = 1; int length = 5;
    /**
     *
     */
    public FullCanvasTest()
    {
//        super();
        // TODO Auto-generated constrUCtor stub
//        setTitle();
        pressed = false;
        drew  = false;
        
        setTitle("全屏幕测试");
        setTicker(new Ticker("跑马灯"));
        
        addCommand(new Command("全屏幕",Command.SCREEN,1));
        addCommand(new Command("正常",Command.SCREEN,1));
        setCommandListener(this);
    }

    /* (non-Javadoc)
     * @see javax.microedition.lcdui.Displayable#paint(javax.microedition.lcdui.Graphics)
     */
    protected void paint(Graphics g)
    {
        // TODO Auto-generated method stub
        g.setColor(200,200,200);
        g.fillRect(0,0,getWidth(),getHeight());
        setFullScreenMode(true);
        paintButton(g, x, y , w, h,pressed);
        paintCross(g, x + w, y + h, length);

    }
    
    public void paintButton(Graphics g, int x, int y, int w, int h, boolean p)
    {
        if(!p)
        {
            g.setColor(255,255,255);
         g.fillRect(x-1, y-1, w, h);
            g.setColor(125, 125, 125);
         g.fillRect(x, y, w, h);
        }
        else
        {
            g.setColor(255,255,255);
         g.fillRect(x, y, w, h);
            g.setColor(125,125,125);
            g.fillRect(x-1, y-1, w, h);

        }  
    }
    
    public void paintCross(Graphics g, int x, int y, int length)
    {
        g.setColor(255,0,0);
        g.drawLine(x-length, y, x+length, y);
        g.drawLine(x, y-length, x , y+length);
    }
    
    /* (non-Javadoc)
     * @see javax.microedition.lcdui.CommandListener#commandAction(javax.microedition.lcdui.Command, javax.microedition.lcdui.Displayable)
     */
    public void commandAction(Command c, Displayable s)
    {
        // TODO Auto-generated method stub
        String cmd = c.getLabel();
        if(cmd.equals("全屏幕"))
        {
            setFullScreenMode(true);
        }
        else if(cmd.equals("正常"))
        {
            setFullScreenMode(false);
        }
    }
    
    protected void sizeChanged(int w, int h)
    {
        System.out.println("改变后的宽度:" + w);
        System.out.println("改变后的高度:" + h);
    }
    
    protected void hideNotify()
    {
        System.out.println("屏幕被系统遮蔽");
    }
    
    protected void showNotify()
    {
        System.out.println("屏幕显示在屏幕上");
    }
    
    protected void keyPressed(int keycode)
    {
        System.out.println("被下按的键值:" + getGameAction(keycode));
        switch(getGameAction(keycode))
        {
         case Canvas.UP :
             if(!drew) y = y - 2;
             else h = h - 2;
          break;
         case Canvas.DOWN :
             if(!drew) y = y + 2;
             else h = h + 2;
          break;
         case Canvas.LEFT :
             if(!drew)x = x - 2;
             else w = w - 2;
          break;
         case Canvas.RIGHT :
             if(!drew) x = x + 2;
             else w = w + 2;
          break;
         case Canvas.FIRE :
             pressed = true;
          break;
         default : break;
        }
//        pressed = true;
        repaint();
    }
    
    protected void keyReleased(int keycode)
    {
        System.out.println("被释放的键值:" + getGameAction(keycode));
        switch(getGameAction(keycode))
        {
         case Canvas.FIRE :
             pressed = false;
          drew = !drew;
          break;
         default : break;        
        }
        
        repaint();
    }
}

import javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
/*
* Created on 2005-1-29
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/

/**
* @author jeremy chow
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class CanvasTestMIDlet extends MIDlet
{
    protected Display display;
    /**
     *
     */
    public CanvasTestMIDlet()
    {
//        super();
        // TODO Auto-generated constructor stub
        display = Display.getDisplay(this);
    }

    /* (non-Javadoc)
     * @see javax.microedition.midlet.MIDlet#startApp()
     */
    protected void startApp() throws MIDletStateChangeException
    {
        // TODO Auto-generated method stub
        FullCanvasTest fc = new FullCanvasTest();
        display.setCurrent(fc);
    }

    /* (non-Javadoc)
     * @see javax.microedition.midlet.MIDlet#pauseApp()
     */
    protected void pauseApp()
    {
        // TODO Auto-generated method stub

    }

    /* (non-Javadoc)
     * @see javax.microedition.midlet.MIDlet#destroyApp(boolean)
     */
    protected void destroyApp(boolean arg0) throws MIDletStateChangeException
    {
        // TODO Auto-generated method stub

    }
进入讨论组讨论。

(出处:)


上一篇:BlueTooth探索系列(三)---发现服务框架(续) 人气:696
下一篇:BlueTooth探索系列(五)—J2ME蓝牙实战入门 人气:949
浏览全部J2EE/J2ME的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐