快速业务通道

解决J2ME开发中的连续按键问题 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21
ew Thread(mainCanvas).start();      display.setCurrent(mainCanvas); } protected void pauseApp()    { } protected void destroyApp(boolean arg0) throws MIDletStateChangeException    { } } package com.j2medev; import javax.microedition.lcdui.*; public class MainCanvas extends Canvas implements Runnable {    private String buttonPressed; private boolean leftPressed; private boolean rightPressed; private int px = getWidth() / 2; public final int py = getHeight() / 2; public MainCanvas()    {      buttonPressed = " ";    } private void left()    {      if (px >= 0)      {        px--;      }      buttonPressed = "LEFT";      repaint();    } private void right()    {      if (px <= getWidth())      {        px++;      }      buttonPressed = "RIGHT";      repaint();    } public void run()    {      while (true)      {        if (leftPressed)        {          left();        }        if (rightPressed)        {          right();        } try        {          Thread.sleep(50);        } catch (InterruptedException e)        {          e.printStackTrace();        }      } } public void paint(Graphics g)    {      g.setColor(0xFFFFFF);      g.fillRect(0,0,getWidth(),getHeight());      g.setColor(0x000000); g.drawString(buttonPressed,20,20,Graphics.LEFT | Graphics.TOP);      g.drawString("J2ME",px,py,Graphics.HCENTER | Graphics.TOP); } public void keyReleased(int keyCode)    {      int action = getGameAction(keyCode); switch (action)      {      case LEFT:        leftPressed = false;        buttonPressed = "";        break; case RIGHT:        rightPressed = false;        buttonPressed = "";        break;      default:        break;      }      repaint(); } public void keyPressed(int keyCode)    {      int action = getGameAction(keyCode); switch (action)      { case LEFT:        left();        leftPressed = true;        break; case RIGHT:        right();        rightPressed = true;        break; default:        break; }      repaint(); } public void keyRepeated(int keyCode)    {      int action = getGameAction(keyCode);      switch (action)      {      case LEFT:        left();        break;      case RIGHT:        right();        break; default:        break;      }      repaint(); } }

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号