ImageControl.java
上传用户:luxiaowei
上传日期:2022-06-06
资源大小:58k
文件大小:2k
源码类别:

J2ME

开发平台:

Java

  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5. package com.framework;
  6. import javax.microedition.lcdui.Graphics;
  7. import javax.microedition.lcdui.Image;
  8. /**
  9.  *
  10.  * @author swaroop_kumar
  11.  */
  12. public class ImageControl extends UIControl implements TimerInterface{
  13.     Image image;
  14.     int blinkFrequency = 0;
  15.     BaseTimer timer;
  16.     long counter;
  17.     int allignment;
  18.     public void setBlinkFrequency(int frequency)
  19.     {
  20.         blinkFrequency = frequency;
  21.     }
  22.     public void showNotify() {
  23.         super.showNotify();
  24.         if(blinkFrequency > 0)
  25.         {
  26.              timer = BaseTimer.schedule(100, 100, this, 0);
  27.         }
  28.     }
  29.     public void hideNotify() {
  30.         super.hideNotify();
  31.         if(timer != null)
  32.         {
  33.             timer.cancel();
  34.             timer = null;
  35.         }
  36.     }
  37.     public ImageControl(Image image) {
  38.         this.image = image;
  39.         if(image != null)
  40.         {
  41.             setWidth(image.getWidth());
  42.             setHeight(image.getHeight());    
  43.         }
  44.         
  45.     }
  46.    public void setImage(Image img)
  47.    {
  48.        this.image = img;
  49.    }
  50.     
  51.     public void paint(Graphics g) {
  52.         if(blinkFrequency > 0)
  53.         {
  54.             if(counter % blinkFrequency == 0)
  55.                 return;
  56.         }
  57.         int xPos = 0;
  58.         int yPos = 0;
  59.         if( (allignment & Graphics.RIGHT) != 0 && image != null)
  60.         {
  61.             xPos = width - image.getWidth();
  62.         }
  63.         if( (allignment & Graphics.BOTTOM) != 0 && image != null)
  64.         {
  65.             yPos = height - image.getHeight();
  66.         }
  67.         if( (allignment & Graphics.HCENTER) != 0 && image != null)
  68.         {
  69.             xPos = (width - image.getWidth() )>> 1;
  70.         }
  71.         if( (allignment & Graphics.VCENTER) != 0 && image != null)
  72.         {
  73.             yPos = (height - image.getHeight()) >> 1;
  74.         }
  75.         if(image != null)
  76.             g.drawImage(image, xPos, yPos, 0);
  77.     }
  78.     public void task(int data) {
  79.         counter++;
  80.          DisplayManager.getInst().invalidate();
  81.     }
  82.     public void setAllignment(int allignment) {
  83.         this.allignment = allignment;
  84.     }
  85. }