DiamondItem.java
上传用户:gyyuli
上传日期:2013-07-09
资源大小:3050k
文件大小:1k
源码类别:

J2ME

开发平台:

Java

  1. import javax.microedition.lcdui.*;
  2. public class DiamondItem
  3.     extends CustomItem {
  4.   private boolean mState;
  5.   
  6.   public DiamondItem(String title) {
  7.     super(title);
  8.     mState = false;
  9.   }
  10.   
  11.   public void toggle() {
  12.     mState = !mState;
  13.     repaint();
  14.   }
  15.   
  16.   // CustomItem abstract methods.
  17.   
  18.   public int getMinContentWidth() { return 80; }
  19.   public int getMinContentHeight() { return 40; }
  20.   
  21.   public int getPrefContentWidth(int width) {
  22.     return getMinContentWidth();
  23.   }
  24.   
  25.   public int getPrefContentHeight(int height) {
  26.     return getMinContentHeight();
  27.   }
  28.   
  29.   public void paint(Graphics g, int w, int h) {
  30.     g.drawRect(0, 0, w - 1, h - 1);
  31.     int stepx = 8, stepy = 16;
  32.     for (int y = 0; y < h; y += stepy) {
  33.       for (int x = 0; x < w; x += stepx) {
  34.         g.drawLine(x, y, x + stepx, y + stepy);
  35.         g.drawLine(x, y + stepy, x + stepx, y);
  36.         if (mState == true) {
  37.           int midx = x + stepx / 2;
  38.           int midy = y + stepy / 2;
  39.           g.fillTriangle(x, y, x + stepx, y, midx, midy);
  40.           g.fillTriangle(midx, midy, x, y + stepy,
  41.               x + stepx, y + stepy);
  42.         }
  43.       }
  44.     }
  45.   }
  46.   
  47.   // CustomItem methods.
  48.   
  49.   protected void keyPressed(int keyCode) { toggle(); }
  50.   
  51.   protected void pointerPressed(int x, int y) { toggle(); }
  52. }