Desito...não consigo compilar

5 respostas
T

PessoALL, estou tentando compilaar, um simples programa em Java, coisa que no delphi fiz em menos de 2 minutos.. e no Java, estou aqui a mais de 2 dias sem saber como funciona... :(

é o seguitne código:
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class gerachave extends MIDlet implements CommandListener
{
  // variavel
  TextBox chave;
  Display tela;
  int sum1, sum2, x, s;
  int n[];

  // inicia o aplicativo
    public void startApp() {
      this.tela = Display.getDisplay(this);
      this.tela.setCurrent(this.chave);

      n = new int[10];
      this.chave = new TextBox("Chave de Liberacao","", 20, TextField.ANY);

      this.chave.setString("TESTE");
    }



    // classes de fechar e pausar!
    protected void destroyApp(boolean param) { }

    protected void pauseApp() { }


}

Quando mando compilar atraves do GEL, da erro na primeira linha... falando que não existe a classe e tals..

quando entro no ToolKit ele fala que nã oexiste a classe, gerachave...

como assim, nao existe?!?! ela nao esta lah???

seghuinte, tenho os seguintes programas instalados:

-WTK22
-j2sdk1.4.2_03
- GEL como editor!

Preciso de mais alguma coisa, pra finalmente compilar meu programinha??

o que eu to querendo eh nada mais nada menos que preencher o vetor com dados randomicos... e depois fazer uma operacao matematica, e depois exibir na tela do celular...

[]s e desde já agradeço!

5 Respostas

J

Seguinte velho…vc ta implementando a interface CommandListener
entao se vc implementa uma interface tem que implementar todos os metodos dela (a nao ser que sua classe seja abstrata)
ela possui so o metodo commandAction
entao adiciona isso no seu codigo:

public void commandAction(Command c, Displayable d){
        
    }

esse método trata dos eventos do seu MIDlet quando vc clica nos botoes laterais do celular, se quiser criar alguma logica baseada nos botoes use o método

blz?
[]'s

T

Amigo, o mesmo erro :(

Project "gerachave" loaded
Running with storage root DefaultColorPhone
Unable to create MIDlet gerachave
java.lang.ClassNotFoundException: gerachave
	at com.sun.midp.midlet.MIDletState.createMIDlet(+14)
	at com.sun.midp.midlet.Selector.run(+22)

Você nao teria um exemplo simples, que soh exibisse um texto na tela do pc? aih ajudaria muito, :D

ah.. o codigo agora eh:

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

public class gerachave extends MIDlet implements CommandListener
{
  // variavel
  TextBox chave;
  Display tela;
  int sum1, sum2, x, s;
  int n[];

  // inicia o aplicativo
    public void startApp() {
      this.tela = Display.getDisplay(this);
      this.tela.setCurrent(this.chave);

      n = new int[10];
      this.chave = new TextBox("Chave de Liberacao","", 20, TextField.ANY);

      this.chave.setString("TESTE");
    }


  public void commandAction(Command c, Displayable d){

    }

    // classes de fechar e pausar!
    protected void destroyApp(boolean param) { }

    protected void pauseApp() { }


}

[]s

J

velho voce tem certeza que colocou a classe no diretorio certo la no toolkit?
no diretorio classes…

entao eu to usando agora o netbeans 4 com desenvolvimento movel
eh muito legal…ele ja vem preparado pra tudo…quando vc cria um projeto ele ja cria uma classe com todos os metodos sobreescritos e talz

essa classe ai que vc ta fazendo ja eh simples…acho que o erro nao ta na sintaxe

tenta ve os diretorios la do toolkit…
tem um tutorial que explica certinho no portal java mesmo
http://www.portaljava.com/home/modules.php?name=Content&pa=list_pages_categories&cid=16

espero q de certo
[]'s

T

Amigo, funcionou perfeitamente, o problema eh que nao estava colocando o arquivo na pasta classes, e sim na src… mudei e nao deu erro…

porem nao exibiu nada na tela…

como faco pra exibir na tela alguma string?

etou baixando o software q voce usa, pra ver se eh melhor que o que eu uso… :frowning:

[]s

J

entao velho
esse linha sua

this.tela.setCurrent(this.chave);

tem que ser a ultima a ser executada
pq quando vc faz o chave receber um novo textBox…a variavel chave aponta para esse novo endereco…mas seu MIDlet continua apontando pro antigo
entao o certo eh vc inicializar seu textfield e depois por ultimo setar ele no midlet

tenta ai
[[]'s velho

Criado 2 de março de 2005
Ultima resposta 2 de mar. de 2005
Respostas 5
Participantes 2