Erro na hora de executar a aplicação(RESOLVIDO)

boa tarde… compilei uma aplicação com o WTK ate ai beleza mai sna hora de executar ele executa ai quando teclo para rodar o jogo ele da esse erro

Project "Auto Estrada" loaded Settings updated Project settings saved Project settings saved Building "Auto Estrada" Build complete Project settings saved Building "Auto Estrada" Build complete Running with storage root C:\Documents and Settings\Incabras\j2mewtk\2.5.2\appdb\DefaultColorPhone Running with locale: Portuguese_Brazil.1252 Running in the identified_third_party security domain Unable to create MIDlet AutoEstradaCanvas java.lang.InstantiationException: Class not a MIDlet at com.sun.midp.midlet.MIDletState.createMIDlet(+66) at com.sun.midp.midlet.Selector.run(+22) alguem sabe o que pode ser???

Está tentando rodar em que aparelho? Qual o SO?

S.O windows

aparelho da sun +55500000

vou tentar muda o aparelho

mais sera que o aparelho tem a ver?

Pelo erro que deu… o sistema não está achando o midlet inicial… dá uma olhada na configuração do jad para ver se está setado o midlet inicial do sistema

num entendi como eo faço isso?

quando vc gera o jar da aplicação, é gerado junto um arquivo .jad … tem que ver neste arquivo a propriedade

MIDlet-1: Nome do midlet, , caminho.do.midlet

Se está fazendo pelo netbeans, vai nas propriedades e acha as propriedades do projeto que dá pra configurar de maneira gráfica…

intã to usando o WTK saka… e o midlet esta sendo apontado para a classe AutoEstradaCanvas

o.O

Então dá uma olhada no seu midlet pra ver … pelo jeito tá dando erro nesse midlet… posta o resto do erro…

classe AutoEStrada

[code]import javax.microedition.lcdui.;
import javax.microedition.midlet.
;

public class AutoEstrada extends MIDlet{

private Display display;
private AutoEstradaCanvas autoEstradaCanvas; 

public AutoEstrada()
{
	display = Display.getDisplay(this);
	autoEstradaCanvas = new AutoEstradaCanvas();
}

protected void startApp(){
  		display.setCurrent(autoEstradaCanvas);
}
protected void pauseApp(){}
protected void destroyApp(boolean unconditional){}

public void exitMIDlet(){
  		destroyApp(false);
  		notifyDestroyed();
  
}

}[/code]

classe autoestradacanvas

import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Font;

import javax.microedition.lcdui.game.GameCanvas;

import java.io.IOException;


public class AutoEstradaCanvas extends GameCanvas implements Runnable
{
	private Veiculo carroJogador;
	private Veiculo veiculoInimigo[];

	private final static int 	col1 = 46,
					col2 = 82,
					col3 = 116;

	private final static int 	MARGEM_DIREITA = 128,
					MARGEM_ESQUERDA = 36;

	/* mapa = numero de veiculos - (tipo, px, py)) */;
	private int mapa1[]={49,1,col1,60,1,col3,60,1,col2,-40,1,col3,-140,4,col1,-200,
				2,col2,-270,2,col2,-500,1,col3, -580, 2,col1,-630, 4,col2,-730,
				2,col1,-780,3,col1,-850,2,col1,-930,3,col2,-990,4,col1,-1100,
				1,col3,-1200,2,col2,-1300,4,col1,-1400,1,col2,-1490,2,col3,-1600,
				3,col1,-1700,3,col3,-1800,2,col2,-1890,1,col1,-1960,4,col3,-2120,
				1,col2,-2200,2,col1,-2270,2,col3,-2350,4,col1,-2450,1,col2,-2500,
				4,col1,-2650,4,col3,-2650,3,col1,-2750,2,col2,-2830,1,col1,-2900,
				3,col1,-3100,3,col3,-3300,3,col1,-3500,1,col3,-3600,2,col2,-3670,
				1,col2,-3750,4,col3,-3770,3,col1,-3870,2,col3,-3950,1,col2,-4070,
				1,col1,-4140,3,col3,-4220,2,col2,-4300,3,col3,-4390};
	private int mapa[];

	private final static int linhas[]={150,100,50,0,-50,-100,-150};

	private int placapy = 90;

	private Image	carro1,
			carro2,
			carro3,
			carro4,
			caminhao,
			placa,
			back;

	private int 	numVeiculos;

	private final static int 	sleepTime = 30,
					bordaEsquerda = 36,
					bordaDireita = 143;

	private int semaforo; /*	0 = apagado
					1 = primeiro vermelho
					2 = segundo vermelho
					3 = verde
				*/

	private int loopCounter;
	private boolean pausado;


	public AutoEstradaCanvas()
	{
		super(true);				/* constructor GameCanvas(boolean suppressKeyEvents)*/
		carregaImagens();

		iniciaJogo();

		new Thread(this).start();
	}

	private void iniciaJogo()
	{
		setMapa(mapa1);
		carregaMapa();

		carroJogador = new Veiculo(carro1, 0, col2,130, 130, 5);

		pausado = false;
		loopCounter=0;
		semaforo=0;
	}

	private void setMapa(int m[])
	{
		mapa = m;
	}
	private void carregaImagens()
	{
		try
		{
			carro1 = Image.createImage("/imagens/carro1.png");
			carro2 = Image.createImage("/imagens/carro2.png");
			carro3 = Image.createImage("/imagens/carro3.png");
			carro4 = Image.createImage("/imagens/carro4.png");
			caminhao = Image.createImage("/imagens/caminhao.png");
			placa = Image.createImage("/imagens/placa.png");
			back = Image.createImage("/imagens/back.png");
		}
		catch(IOException e)
		{
			System.out.println("Erro ao carregar Imagens");
			e.printStackTrace();
		}
	}

	private void carregaMapa()
	{
		Image img=null;
		int x,y;
		numVeiculos = mapa[0];
		veiculoInimigo = new Veiculo[numVeiculos];
		for(y=0, x=1; y<numVeiculos; x+=3, y++)
		{
			
			if(mapa[x] == 1)
				img = carro2;
			else if(mapa[x] == 2)
				img = carro3;
			else if(mapa[x] == 3)
				img = carro4;
			else if(mapa[x] == 4)
				img = caminhao;		

			veiculoInimigo[y] = new Veiculo(img, mapa[x], mapa[x+1], mapa[x+2], 100 ,3);
			veiculoInimigo[y].setVelocidade(10);
		}
	}

	private void desenhaVeiculos(Graphics g)
	{
		int x;
		carroJogador.meDesenha(g);

		for(x=0; x<numVeiculos; x++)
		{
			if(veiculoInimigo[x].getPy() +veiculoInimigo[x].getAltura() > 0)
				veiculoInimigo[x].meDesenha(g);
		}
	}

	private void andaVeiculos()
	{

		int x;
		int py_ant;
		int j_px, j_c, i_px, i_c, i_py, i_a;
		j_px = carroJogador.getPx();
		j_c = carroJogador.getComprimento();

		for(x=0; x<numVeiculos; x++)
		{

			i_px = veiculoInimigo[x].getPx();
			i_c = veiculoInimigo[x].getComprimento();
			i_py = veiculoInimigo[x].getPy();
			i_a = veiculoInimigo[x].getAltura();


			/***********************
		 	* Anda carro para fente
		 	***********************/
			veiculoInimigo[x].incVelocidade(1);
			py_ant = veiculoInimigo[x].getPy();
			veiculoInimigo[x].setPy(veiculoInimigo[x].getPy() + ((carroJogador.getVelocidade() - veiculoInimigo[x].getVelocidade())/5));
			
			if(colisaoVeiculos())
			{
				veiculoInimigo[x].setPy(py_ant);
				carroJogador.setVelocidade(60);
				carroJogador.incEnergia(-1);
			}



			/****************************
		 	* Desvia do carro do Jogador
		 	****************************/
			
			if(veiculoInimigo[x].getPy() > carroJogador.getPy())
			{
				if((i_px <= j_px && i_px+i_c > j_px) || (i_px >= j_px && i_px+i_c <= j_px+j_c))
				{
					if(j_px-j_c > bordaEsquerda)
						veiculoInimigo[x].setPx(veiculoInimigo[x].getPx() - 3);
					else
						veiculoInimigo[x].setPx(veiculoInimigo[x].getPx() + 3);
				}						
				else if(i_px+i_c >= j_px+j_c && i_px < j_px+j_c)
				{
					if(j_px+j_c+j_c < bordaDireita)
						veiculoInimigo[x].setPx(veiculoInimigo[x].getPx() + 3);
					else
						veiculoInimigo[x].setPx(veiculoInimigo[x].getPx() - 3);
				}
			}
			

			/************************
			 * Fecha carro jogador	*
			 ************************/
			if(veiculoInimigo[x].getTipo() == 3)
			{
				if(i_py+i_a > 0 && i_py < 60)
				{
					if(i_px < j_px)
					{
						if(i_px+3 > j_px)
							veiculoInimigo[x].setPx(j_px);
						else
							veiculoInimigo[x].setPx(i_px + 3);
					}
					else if(i_px > j_px)
					{
						if(i_px -3 < j_px)
							veiculoInimigo[x].setPx(j_px);
						else
							veiculoInimigo[x].setPx(i_px - 3);
					}
				}
			}
			
		}
				
	}

	private boolean colisaoVeiculos()
	{
		int 	j_px = carroJogador.getPx(), 
			j_py = carroJogador.getPy(),
			j_c = carroJogador.getComprimento(), 
			j_a = carroJogador.getAltura();

		int 	i_px,
			i_py,
			i_c,
			i_a;
		

		for(int x=0;x<numVeiculos;x++)
		{
			i_px = veiculoInimigo[x].getPx();
			i_py = veiculoInimigo[x].getPy();
			i_c = veiculoInimigo[x].getComprimento();
			i_a = veiculoInimigo[x].getAltura();

			if(!(i_py > -100 && i_py < 280))
				continue; 


			if((j_px <= i_px && j_px+j_c > i_px) || (j_px < i_px+i_c && j_px+j_c >= i_px+i_c) ||
				(j_px >= i_px && j_px+j_c <= i_px+i_c) || (i_px >= j_px && i_px+i_c <= j_px+j_c))
			{
				if((j_py < i_py+i_a && j_py > i_py) || (j_py+j_a > i_py && j_py+j_a < i_py+i_a) || 
					(j_py >= i_py && j_py+j_a <= i_py+i_a) || (i_py >= j_py && i_py+i_a <= j_py+j_a))
					return true;

			}


		}
		return false;
			
	}


	private void processaSemaforo()
	{
		if(loopCounter == sleepTime && semaforo != 3)
			semaforo++;
	}
			

	private int getPosicao()
	{
		int carros = mapa[0];
		int p=0;
		for(int x=0; x<numVeiculos; x++)
		{
			if(carroJogador.getPy() < veiculoInimigo[x].getPy())
				p++;
		}
		return numVeiculos-p+1;	
	}

	private void desenhaLinhas(Graphics g)
	{
		
		g.setColor(255,255,255);
		for(int x=0; x<linhas.length;x++)
		{
			g.fillRect(34+bordaEsquerda,linhas[x],3,20);
			g.fillRect(69+bordaEsquerda,linhas[x],3,20);
		}
	}

	private void andaLinhas()
	{
		int vel = carroJogador.getVelocidade();
		for(int x=0; x<linhas.length;x++)
		{
			if(vel > 5)
				linhas[x]+=vel/5;
			else if(vel != 0)
				linhas[x]++;

			if(linhas[x] > 180 )
				linhas[x]-=300;
		}			
	}

	private void andaPlacas()
	{
		int vel = carroJogador.getVelocidade();

			if(vel > 5)
				placapy+=vel/5;
			else if(vel != 0)
				placapy++;

			if(placapy > 180 )
				placapy-=210;
	}
		
	private void desenhaPlacas(Graphics g)
	{
			g.drawImage(placa, 5, placapy, Graphics.TOP | Graphics.LEFT);
			g.drawImage(placa, 150, placapy, Graphics.TOP | Graphics.LEFT);
	
	}

	private void desenhaInterface(Graphics g)
	{
		g.setColor(0,0,0);
		g.fillRect(0,164,180,20);
		g.setColor(255,255,255);
		g.drawString("Vel: " + carroJogador.getVelocidade() +  " Pos: "+ getPosicao()+"  Ener: "+carroJogador.getEnergia(), 50,165, Graphics.TOP | Graphics.LEFT);

		int bola1 = 0x960000; /* RGB 150,0,0 */
		int bola2 = 0x960000;
		int bola3 = 0x009600; /* RGB 0,150,0 */
		
		if(semaforo  > 0)
			bola1 = 0xFF0000;
		if(semaforo > 1)
			bola2 = 0xFF0000;
		if(semaforo > 2)
			bola3 = 0x00FF00;

		g.setColor(bola1);
		g.fillArc(2,167,8,8,0,360);
		g.setColor(bola2);
		g.fillArc(12,167,8,8,0,360);
		g.setColor(bola3);
		g.fillArc(22,167,8,8,0,360);
		
		
	}
		

	public void paint(Graphics g)
	{
		if(!pausado)
		{
			g.drawImage(back,0,0, Graphics.TOP | Graphics.LEFT);
			desenhaLinhas(g);
			desenhaPlacas(g);
			desenhaVeiculos(g);
			desenhaInterface(g);
		}

		if(getPosicao() == 1)
		{
			pausado = true;

			g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD, Font.SIZE_LARGE));

			g.setColor(255,0,0);
			g.drawString("VOCÊ VENCEU!", 40,70, Graphics.TOP | Graphics.LEFT);
			g.drawString("PRESSIONE FIRE (5)", 20,90, Graphics.TOP | Graphics.LEFT);
		}

		else if(carroJogador.getEnergia() == 0)
		{
			pausado = true;

			g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD, Font.SIZE_LARGE));

			g.setColor(255,0,0);
			g.drawString("GAME OVER", 40,70, Graphics.TOP | Graphics.LEFT);
			g.drawString("PRESSIONE FIRE (5)", 20,90, Graphics.TOP | Graphics.LEFT);
		}

	}

	public void run()
	{
		try
		{
			while(true)
			{
				Thread.sleep(sleepTime);
				
				if(semaforo == 3)
				{
					processaTeclas();


					if(!pausado)
					{
						andaLinhas();
						andaPlacas();
						andaVeiculos();

					}

				}
				else
					processaSemaforo();

				repaint();

				if(loopCounter<sleepTime)
					loopCounter++;
				else
					loopCounter=0;
			}
		}
		catch(Exception e){}
	}

	private void processaTeclas()
	{
		int keyStates = getKeyStates();


		if((keyStates & FIRE_PRESSED) != 0)
		{
			if(pausado)
			{
				pausado = false;
				iniciaJogo();
			}
		}

		if((keyStates & UP_PRESSED)!=0)
			carroJogador.incVelocidade(1);
		else
		{
			if(carroJogador.getVelocidade() >= 1)
			{
				if(loopCounter % 3 == 0)
					carroJogador.incVelocidade(-1);
			}
		}

		if((keyStates & DOWN_PRESSED)!=0)
		{
			if(carroJogador.getVelocidade() >=5)
				carroJogador.incVelocidade(-1);
		}

		if((keyStates & LEFT_PRESSED)!=0)
		{
			int px_ant = carroJogador.getPx();

			if(px_ant - 3 >= MARGEM_ESQUERDA)
			{
				carroJogador.setPx(px_ant-3);

				if(colisaoVeiculos())
				{
					carroJogador.setPx(px_ant+10);
					carroJogador.setVelocidade(60);
					carroJogador.incEnergia(-1);
				}
			}
		}

		if((keyStates & RIGHT_PRESSED)!=0)
		{
			int px_ant = carroJogador.getPx();
			
			if(px_ant + 3 <= MARGEM_DIREITA)
			{
				carroJogador.setPx(px_ant+3);
			
				if(colisaoVeiculos())
				{
					carroJogador.setPx(px_ant-10);
					carroJogador.setVelocidade(60);
					carroJogador.incEnergia(-1);
				}
			}			
		}
		
	}

	
}[/code]


classe ObjetoJogo

[code]import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;


public abstract class ObjetoJogo
{
	protected Image image;
	protected int px;
	protected int py;
	protected int comprimento;
	protected int altura;

	public abstract void meDesenha(Graphics g);

	public int getPx()
	{
		return px;
	}
	public void setPx(int x)
	{
		px = x;
	} 
	public int getPy()
	{
		return py;
	}
	public void setPy(int y)
	{
		py = y;
	}

	public int getComprimento()
	{
		return comprimento;
	}
	public int getAltura()
	{
		return altura;
	}
}

classe Veiculo

[code]import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;

public class Veiculo extends ObjetoJogo
{
private int tipo,
velocidade,
velocidadeMaxima,
energia;

public Veiculo()
{
	tipo = 0;
	velocidade = 0;
	velocidadeMaxima = 0;
	energia = 0;
}

public Veiculo(Image i, int t, int x, int y, int veloM, int e)
{
	super.image = i;
	super.comprimento = image.getWidth();
	super.altura = image.getHeight();

	super.px = x;
	super.py = y;
	
	tipo = t;
	velocidade = 0;
	velocidadeMaxima = veloM;
	energia = e;
}

[/code]

a classe principal é a AutoEstradaCanvas

e o erro diz que ela naum é um midlet
o.O

A classe principal, ou main, em JME é um MIDlet. Aponte para o teu MIDlet, no caso a classe AutoEstrada.

Fernando

cara que fmz :smiley:

vlwwww manin brigado de coraçãoooo