Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java ME (J2ME) > drawImage проблема


Автор: princessa 21.11.2010, 01:49
Код class Draw:
Код


import javax.microedition.lcdui.*;
import java.io.IOException;

public class Draw extends Canvas
{
  private int    anchor = 0;
  private Image  im;

  public Draw()
  {
    super();
    try
    {
      im = Image.createImage("/horse.png");
    }
    catch( IOException ioe )  {  System.out.println( ioe.getMessage() );   }
  }

  public void paint( Graphics g )
  {
    g.setColor( 0 ); // black color
    g.fillRect( 0, 0, getWidth(), getHeight() );
    switch( anchor ) {
    case 0: g.drawImage( im, 0, 0, Graphics.TOP | Graphics.LEFT ); break;
    case 1: g.drawImage( im, getWidth(), getHeight(), Graphics.BOTTOM | Graphics.RIGHT ); break;
    case 2: g.drawImage( im, getWidth()/2, getHeight()/2, Graphics.VCENTER | Graphics.HCENTER ); break;

    default: break;
    }
   }
  
  protected void keyPressed(int keyCode)
  {
    switch( keyCode )
    {
      case KEY_NUM0: anchor = 0; break;
      case KEY_NUM1: anchor = 1; break;
      case KEY_NUM2: anchor = 2; break;
      default: break;
    }
    repaint();
  }
}



код class ImageMIDlet:

Код

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class ImageMIDlet extends MIDlet implements CommandListener
{
  private Draw dr;
  private Display d;
  private Command exitCommand;

  public ImageMIDlet()
  {
    exitCommand = new Command("Exit", Command.EXIT, 0);
    dr = new Draw();
    d = Display.getDisplay( this );
    d.setCurrent( dr );
  }
  public void startApp()  { }
  public void pauseApp()  { }
  public void destroyApp(boolean destroy)  { }

   public void commandAction(Command c, Displayable s) {
        if (c == exitCommand) {
            destroyApp(false);
            notifyDestroyed();
        }
    }
}



при работе с приложением ничего не происходит, пустой экран, в чем косяк?
хотя должна отрисовываться картинка при нажатии кнопок 0 1 2

Автор: Димончик 21.11.2010, 11:31
Попробуй путь прописать правильно, или убедись что картинка лежит там где надо. А также картинка может быть чорного цвета))

Скорее всего проблема в етом коде
Код
 g.setColor( 0 );
  тут нужно, к примеру так: 
Код
 g.setColor( 0,0,0 );

Автор: PiyodaiSiyo 2.12.2010, 15:09
поставь рисунок в ту же папку что и дро с имиджмидлетом . Скопировал твой код все работает прекрасно и в нетбинсе и в теле.

Автор: ivanovpv 2.12.2010, 16:56
Хорошо быть девелопером принцессой - так и сбегаются отовсюду прынцы...  smile 

Автор: W0LF 10.12.2010, 20:35
 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)