Minha Classe Midlet
package Mobile;
import javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class Mobile extends MIDlet {
private Display display;
public Mobile() {
// TODO Auto-generated constructor stub
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub
}
protected void pauseApp() {
// TODO Auto-generated method stub
}
protected void startApp() throws MIDletStateChangeException {
if (display == null) {
display = Display.getDisplay(this);
}
try {
display.setCurrent(new Splash(this));
} catch (Throwable th) {
th.printStackTrace();
}
}
}
Minha Classe Splash
package Mobile;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
public class Splash extends Canvas implements Runnable {
private Image image;
private Mobile mobile;
public Splash(Mobile mobile) {
this.mobile = mobile;
try {
image = Image.createImage("/gnucash.png");
Thread t = new Thread(this);
t.start();
} catch (Throwable e) {
e.printStackTrace();
}
}
public void run() {
try {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
dismiss();
} catch (Throwable th) {
th.printStackTrace();
}
}
protected void paint(Graphics g) {
int width = getWidth();
int height = getHeight();
g.setColor(0x444);
g.fillRect(0, 0, width, height);
g.drawImage(image, width / 2, height / 2, Graphics.HCENTER
| Graphics.VCENTER);
}
public void dismiss() {
try {
if (isShown())
Display.getDisplay(mobile).setCurrent(new Menu(mobile));
} catch (Throwable th) {
th.printStackTrace();
}
}
public void keyReleased(int keyCode) {
dismiss();
}
public void pointerReleased(int x, int y) {
dismiss();
}
}
Minha Classe Menu
package Mobile;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.List;
import Mobile.Usuario.Controlador.CadastroUsuario;
public class Menu extends List implements CommandListener {
private Mobile mobile;
private CadastroUsuario cadastroUsuario;
static String cadUs = "Cadastro de Usuario";
static String logUs = "Login de Usuario";
static String sair = "Sair";
private static String[] menu = new String[] { cadUs, logUs, sair };
public Menu(Mobile mobile) {
super("Menu", List.IMPLICIT, menu, null);
this.mobile = mobile;
setCommandListener(this);
}
public Menu(String title, int listType, String[] stringElements,
Image[] imageElements) {
super(title, listType, stringElements, imageElements);
// TODO Auto-generated constructor stub
}
public void commandAction(Command arg0, Displayable arg1) {
switch (this.getSelectedIndex()) {
case 0:
Display.getDisplay(mobile).setCurrent(cadastroUsuario);
break;
case 1:
break;
case 2:
this.mobile.notifyDestroyed();
break;
}
}
}
Galera ele esta dando um erro
java.lang.NoClassDefFoundError: Mobile/Usuario/Controlador/CadastroUsuario
at Mobile.Splash.dismiss(+14)
at Mobile.Splash.run(+18)
java.lang.NoClassDefFoundError: Mobile/Usuario/Controlador/CadastroUsuario
at Mobile.Splash.dismiss(+14)
at Mobile.Splash.keyReleased(+4)
at javax.microedition.lcdui.Canvas.callKeyReleased(+19)
at javax.microedition.lcdui.Display$DisplayAccessor.keyEvent(+206)
at javax.microedition.lcdui.Display$DisplayManagerImpl.keyEvent(+11)
at com.sun.midp.lcdui.DefaultEventHandler.keyEvent(+127)
at com.sun.midp.lcdui.AutomatedEventHandler.keyEvent(+210)
at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.handleVmEvent(+114)
at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.run(+57)
o Meu Cadastro de Usuario
package Mobile.Usuario.Controlador;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;
import Mobile.Mobile;
import Mobile.Usuario.Controlador.Interface.IControladorUsuario;
import Mobile.Usuario.Repositorio.Interface.IRepositorioUsuario;
public class CadastroUsuario extends Form implements CommandListener,
IControladorUsuario {
private IRepositorioUsuario repositorioUsuario;
private Mobile mobile;
private Command cmdVoltar = new Command("voltar", Command.BACK, 1);
private Command cmdCadastrar = new Command("Cadastrar", Command.SCREEN, 1);
private TextField nome = null;
private TextField senha = null;
private TextField senhaNov = null;
public CadastroUsuario(Mobile Mobile) {
super("Cadastro de Usuário");
this.mobile = mobile;
}
public boolean cadastrarUsuario(String nome, String senha) {
repositorioUsuario.salvarUsuario(nome, senha);
return true;
}
public void commandAction(Command c, Displayable d) {
// TODO Auto-generated method stub
}
}
Meu projeto esta Organizado da seguinte maneira
Mobile
Mobile.Fachada.Java
Mobile.Menu.Java
Mobile.Mobile.Java
Mobile.Splash.Java
Mobile.Usuario.Controlador
Mobile.Usuario.Controlador.Excecoes
Mobile.Usuario.Controlador.Excecoes.UsuarioException.Java
Mobile.Usuario.Controlador.Interface
Mobile.Usuario.Controlador.Interface.IControladorUsuario.java
Mobile.Usuario.Controlador.CadastroUsuario.Java
Mobile.Usuario.Repositorio
Mobile.Usuario.Repositorio.Interface
Mobile.Usuario.Repositorio.Interface.IRepositorioUsuario.java
Mobile.Usuario.Repositorio.RepositorioUsuario.Java