1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
   |  
import java.io.IOException;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
 
public class Midlet extends MIDlet
{
    public Midlet() 
    {
        form_ = new Form("IMAGE BUTTON");
 
        TextField text = new TextField("Yo!", null, 20, TextField.EMAILADDR);
        form_.append(text);
 
        buttonImage = new ButtonImage();
        buttonImage.appendNextItem(form_, text);
 
        Display.getDisplay(this).setCurrent(form_);
    }
 
    public void startApp()
    {
    }
 
    public void pauseApp()
    {
    }
 
    public void destroyApp(boolean unconditional)
    {
    }
 
    private Form            form_;
    private ButtonImage     buttonImage;
 
 
 
    public static class ButtonImage extends CustomItem
    {
        public ButtonImage()
        {
            super(null);
            try
            {
                image_ = Image.createImage("/arrowList.png");
                setPreferredSize(image_.getWidth(), image_.getHeight());
            }
            catch (IOException ioe)
            {
            }
        }
 
        public void appendNextItem(Form form, Item item)
        {
            int i = -1;
            int size = form.size();
 
            if (item != null)
            {
                for (i = 0; i < size; i++)
                    if (form.get(i) == item)
                        break;
            }
            form.insert(i + 1, this);
        }
 
        protected boolean traverse(int dir, int viewportWidth, int viewportHeight, int[] visRect_inout)
        {   
            switch (dir)
            {
                case Canvas.RIGHT:
                    System.out.println("RIGHT");
                    return true;
                case Canvas.LEFT:
                    System.out.println("LEFT");
                    return true;
                default:
                    break;
            }
            return false;
        }
 
        protected void keyPressed(int keyCode)
        {
            if (getGameAction(keyCode) == Canvas.FIRE)
            {
                System.out.println("Fire!!!");
            }
        }
 
        public void paint(Graphics g, int w, int h)
        {
            g.drawImage(image_, 0, 0, Graphics.TOP | Graphics.LEFT);
        }
 
        public int getPrefContentHeight(int width)
        {
            return image_.getHeight();
        }
 
        public int getPrefContentWidth(int height)
        {
            return image_.getWidth();
        }
 
        public int getMinContentHeight()
        {
            return image_.getHeight();
        }
 
        public int getMinContentWidth()
        {
            return image_.getWidth();
        }
 
        public Image       image_;
    }
} | 
Partager