j2me中 cavans 写的九宫格

 public class NineMidlet extends MIDlet {
    private myCanvas mycanvas;
     private showImage showimg;
    private Display dis;
 
   
    public void startApp() {
  
        dis = Display.getDisplay(this);
        mycanvas = new myCanvas();
        showimg  = new showImage(this);
       mycanvas.setTitle("九宫格");
        showinterface("mycanvas");
    }
   
    public void showinterface(String name){
    
            if(name.equals("mycanvas"))
                dis.setCurrent(mycanvas);
            else if (name.equals("showimg"))
                dis.setCurrent(showimg);
       
     }
  
   
    public void pauseApp() {
    }
   
    public void destroyApp(boolean unconditional) {
    }
  
   
    public class myCanvas extends Canvas {
       public  int eachX,eachY ,distanceX,distanceY;
       private Image[] img  = new Image[9];
       private int focus = 4;
  public myCanvas(){
        eachX = this.getWidth()/3;
        eachY = this.getHeight()/3-4;
        distanceX = eachX /2   ;
        distanceY = eachY /2   ;

       try{
         for(int k = 0; k < 9; k++)
//           int k = 2 ;
              img[k] = Image.createImage("/img"+k+".png");
          }catch(Exception ex){
              ex.printStackTrace();
          }
      
   }
       public void paint( Graphics g ) {
        g.setColor(255,255,255);
        g.fillRect(0 ,0 ,this.getWidth() ,  this.getHeight());
        g.setColor(93, 170, 93);
        drawBack(focus,g);
        for( int i = 0 ; i< 3 ; i++)
         for(int j = 0 ; j < 3 ; j ++){
          g.drawImage( img[i*3+j],  j*eachX+ distanceX ,  i*eachY + distanceY,  Graphics.HCENTER|Graphics.VCENTER) ;
          }
        }
      
      
       protected  void keyPressed( int keyCode ){
           int action = this.getGameAction(keyCode);
           if ( Canvas.UP ==action ){
               if( focus-3 >= 0)
                   focus = focus - 3;
               else focus = focus +6;
           }
           else if ( Canvas.DOWN == action ){
               if( focus+3 <= 8)
                   focus = focus +3;  
                else focus = focus -6 ;
           }
           else if ( Canvas.LEFT == action ){
               if( focus-1 >= 0)
                   focus = focus-1;
                else focus = focus +2 ;
           }
           else if ( Canvas.RIGHT == action ){
               if( focus+1 <= 8)
                   ++focus;
                else focus = focus -2 ;
           }
           else if ( Canvas.FIRE == action ){
                   showinterface("showimg");
           }
           repaint();
  
       }
       protected  void keyRepeated( int keyCode ){
           System.out.println("!!!!!!!!!!!!!!!!!!!!!!");
           int action = this.getGameAction(keyCode);
           if ( Canvas.UP ==action ){
               if( focus-3 >= 0)
                   focus = focus - 3;
               else focus = focus +6;
           }
           else if ( Canvas.DOWN == action ){
               if( focus+3 <= 8)
                   focus = focus +3;  
                else focus = focus -6 ;
           }
           else if ( Canvas.LEFT == action ){
               if( focus-1 >= 0)
                   focus = focus-1;
                else focus = focus +2 ;
           }
           else if ( Canvas.RIGHT == action ){
               if( focus+1 <= 8)
                   ++focus;
                else focus = focus -2 ;
           }
           repaint();
       }
   

 

 

       public void drawBack(int focusTemp ,Graphics gr) {
         switch(focusTemp){
             case(0):
             case(1):
             case(2):
               gr.fillRect(focusTemp*eachX, 0 , eachX , eachY);
               break;
             case(3):
             case(4):
             case(5):
              gr.fillRect(focusTemp%3*eachX, eachY , eachX , eachY);
              break;
             case(6):
             case(7):
             case(8):
              gr.fillRect(focusTemp%3*eachX, 2*eachY , eachX , eachY);
              break;
        }
       } 

    }
}
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

 

public class showImage extends Canvas implements CommandListener{
    private Image img9 = null;
    private Command backCom ;
    private NineMidlet mid;
   
    /** Creates a new instance of showImage */
    public showImage( NineMidlet mid) {
        this.mid = mid;
        backCom =  new Command("Back", Command.BACK, 1);
        this.addCommand(backCom);
        try{
        
              img9 = Image.createImage("/img9.png");
          }catch(Exception ex){
              ex.printStackTrace();
          }
        this.setCommandListener(this);
       
       
    }
   
    public void paint(Graphics g){
        g.setColor(255,255,255);
        g.fillRect(0 ,0 ,this.getWidth() ,  this.getHeight());
        g.drawImage( img9, this.getWidth()/2  ,  this.getHeight()/2 ,  Graphics.HCENTER|Graphics.VCENTER) ;
    }
    protected  void keyPressed( int keyCode ){
        int action = this.getGameAction(keyCode);
        
    }
   
     public void commandAction(Command c, Displayable s) {
         if (c == backCom)
              mid.showinterface("mycanvas");
     }
   
}

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编,确保了在对应环境下能够无缝运行。同时,源码配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值