www.pudn.com > j2me-game.rar > SSCanvas.java


import javax.microedition.lcdui.*; 
import java.io.*; 
 
public class SSCanvas extends Canvas { 
  private Display display; 
  private Image[] slides; 
  private String[] captions = { "Love Circle Bowl", "Double Wide Spine", 
                                "Flume Zoom Over-vert", "Kulp De Sac Bowl", 
                                "Louie's Ledge" }; 
  private int curSlide = 0; 
   
  public SSCanvas(Display d) { 
    super(); 
    display = d; 
 
    // Load the slide images 
    try { 
      slides = new Image[5]; 
      slides[0] = Image.createImage("/LoveCircle.jpg"); 
      slides[1] = Image.createImage("/DoubleWide.jpg"); 
      slides[2] = Image.createImage("/FlumeZoom.jpg"); 
      slides[3] = Image.createImage("/KulpDeSac.jpg"); 
      slides[4] = Image.createImage("/LouiesLedge.jpg"); 
    } 
    catch (IOException e) { 
      System.err.println("Failed loading images!"); 
    } 
  } 
 
  void start() { 
    display.setCurrent(this); 
    repaint(); 
  } 
 
  public void keyPressed(int keyCode) { 
    // Get the game action from the key code 
    int action = getGameAction(keyCode); 
 
    // Process the left and right buttons 
    switch (action) { 
      case LEFT: 
        if (--curSlide < 0) 
          curSlide = slides.length - 1; 
        repaint(); 
        break; 
 
      case RIGHT: 
        if (++curSlide >= slides.length) 
          curSlide = 0; 
        repaint(); 
        break; 
      } 
  } 
 
  public void paint(Graphics g) { 
    // Clear the display 
    g.setColor(255, 255, 255);  // White 
    g.fillRect(0, 0, getWidth(), getHeight()); 
 
    // Draw the current image 
    g.drawImage(slides[curSlide], getWidth() / 2, getHeight() / 2, 
      Graphics.HCENTER | Graphics.VCENTER); 
 
    // Set the font for the caption 
    Font f = Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_BOLD, Font.SIZE_MEDIUM); 
    g.setFont(f); 
 
    // Draw the current caption 
    g.setColor(0, 0, 0);        // Black 
    g.drawString(captions[curSlide], getWidth() / 2, 0, 
      Graphics.HCENTER | Graphics.TOP); 
  } 
}