⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 weather.java

📁 Java ME手机应用开发大全一书的配套光盘上的源码
💻 JAVA
字号:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Weather extends MIDlet implements CommandListener
{
    private Display display;
    private WeatherCanvas MyCanvas;
    private Command cmdExit=new Command("Exit",Command.SCREEN,1);
    public  Weather()
    {
        //获取MIDlet的Display对象
        display=Display.getDisplay(this);
        //创建动画画布
        MyCanvas=new WeatherCanvas();
        //为画布添加退出软键
        MyCanvas.addCommand(cmdExit);
        //为画布添加软键事件监听器
        MyCanvas.setCommandListener(this);
    }
    public void startApp() throws MIDletStateChangeException
    {
        //显示画布
        Display.getDisplay(this).setCurrent(MyCanvas);
        //启动画布线程
        MyCanvas.startAnimation();
    }
    public void pauseApp(){}
    public void destroyApp(boolean unconditional){}
    public void commandAction(Command c,Displayable d)
    {
       if(c==cmdExit)
         {
            destroyApp(true);
            notifyDestroyed();
         }
     }
     class WeatherCanvas extends Canvas implements Runnable
     {
          //创建动画图片
          private Image img[]=new Image[11];
          private int currentFrame;
          public WeatherCanvas()
           {
              try{
                   //加载图片资源
                   for(int i=1;i<12;i++)
                      {
                        img[i-1]= Image.createImage("/"+i+".png");
                      }
                 }
              catch(Exception e)
                   {
                       System.out.println(e);
                   }
           currentFrame=0;
          }
       public void paint(Graphics g)
             {
               //清空屏幕
               g.setColor(0x00ffffff);
               g.fillRect(0,0,getWidth(),getHeight());
               //画图
               g.drawImage(img[currentFrame],getWidth()/2,getHeight()/2,g.HCENTER|g.VCENTER);
             }
       public void startAnimation()
             {
                //调用重绘方法
                repaint();
                //请求同步
                display.callSerially(this);
             }
       public void run()
             {
                try{
                     //休眠200毫秒
                     Thread.sleep(200);
                     //改变当前显示的图片
                     currentFrame=(currentFrame+1)%11;
                     //调用重绘方法
                     repaint();
                     //请求同步
                     display.callSerially(this);
                    }
                catch(Exception e)
                   {
                       System.out.println(e);
                   }
              }
        }
}
      
                 
                   
        

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -