as dúvidas seguem no final do código!!!
import javax.microedition.midlet.;
import javax.microedition.lcdui.;
public class Tutorial extends MIDlet implements ItemStateListener, CommandListener
{
private Display display;
private Form formulario;
private Command sair;
private Command ver;
private Command voltar;
private ChoiceGroup selecao;
private ChoiceGroup definicao;
private ChoiceGroup exemplo;
private int resp;
private int grupoResp;
public Tutorial()
{
display = Display.getDisplay(this);
//cria o grupo de selecao com as opções (definições e exemplos)
selecao = new ChoiceGroup("Selecione a opcao:", Choice.EXCLUSIVE);
selecao.append("Definicoes", null);
selecao.append("Exemplos", null);
//configura que uma escolha deve ser feita
selecao.setSelectedIndex(resp, true);
ver = new Command("Selecione", Command.SCREEN, 1);
sair = new Command("Sair", Command.EXIT, 2);
voltar= new Command("Voltar", Command.BACK, 2);
//formulário (com formulario) esperando por eventos
formulario = new Form("Tutorial");
grupoResp = formulario.append(selecao);
formulario.addCommand(sair);
formulario.addCommand(ver);
formulario.setCommandListener(this);
}
public void startApp()
{
display.setCurrent(formulario);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command a, Displayable b)
{
if(a == ver)
{
String itemEscolhido = selecao.getString(selecao.getSelectedIndex());
if(itemEscolhido == "Definicoes")
{
definicao = new ChoiceGroup("Definicoes:", Choice.EXCLUSIVE);
definicao.append("J2ME", null);
definicao.append("KVM", null);
definicao.append("API", null);
definicao.append("CLDC", null);
definicao.append("MIDP", null);
definicao.append("MIDlet", null);
definicao.append("Tratamento de Eventos", null);
definicao.setSelectedIndex(resp, true);
formulario.deleteAll();
formulario.append(definicao);
formulario.addCommand(ver);
formulario.addCommand(sair);
String itemEscolhidoDefinicao = definicao.getString(definicao.getSelectedIndex());
if(itemEscolhidoDefinicao == "J2ME")
{
//formulario.addCommand(sair);
System.out.println("j2me");
}
else if(itemEscolhidoDefinicao == "KVM")
{
System.out.println("kvm");
}
else if(itemEscolhidoDefinicao == "API")
{
}
else if(itemEscolhidoDefinicao == "CLDC")
{
}
else if(itemEscolhidoDefinicao == "MIDP")
{
}
else if(itemEscolhidoDefinicao == "MIDlet")
{
}
else if(itemEscolhidoDefinicao == "Tratamento de Eventos")
{
}
}
else
{
definicao = new ChoiceGroup("Exemplos:", Choice.EXCLUSIVE);
exemplo.append("TextBox", null);
exemplo.append("Alert", null);
exemplo.append("StringField e DateField", null);
exemplo.append(" Gauge e ImageItem", null);
formulario.append(definicao);
formulario.addCommand(ver);
formulario.addCommand(sair);
}
//sair = new Command("Voltar", Command.BACK, 1);
//ver = new Command("Selecione", Command.SCREEN, 2);
/*formulario = new Form("");
grupoResp = formulario.append(definicao);
formulario.addCommand(sair);
formulario.addCommand(ver);
formulario.setCommandListener(this);*/
}
else if(a == sair)
{
//selecao = new ChoiceGroup("Selecione a opcao:", Choice.EXCLUSIVE);
//resp = selecao.append("Definicoes", null);
//selecao.append("Exemplos", null);
//formulario.deleteAll();
//formulario.append(selecao);
destroyApp(false);
notifyDestroyed();
}
}
public void itemStateChanged(Item item){
}
}
se alguem puder executar esse código para mim… pq estou apanhando demais… alguns problemas:
- o evento voltar naum funciona nunca, era para ele estah na linha 77, mas como naum funciona deixei este evento ‘sair’.
- na linha 115 tah dando isso ae:java.lang.NullPointerException
- da linha 81 a 109, cada ‘if’ desse era para ser um tela, com a definicao e um evento “voltar”, para que ele possa selecionar outra opcao.
- queria saber tb se tem como pular a primeira tela, onde tem o evento ‘Launch’.
acho que eh ‘soh’ isso msm, aguardo ajuda enquanto vou tentando aki.
obrigado!!!