Foros del Web » Programación para mayores de 30 ;) » Java »

[Resuelto] Error al cerrar aplicacion J ME

Estas en el tema de [Resuelto] Error al cerrar aplicacion J ME en el foro de Java en Foros del Web. Hola a tod@s. tengo el siguiente problema con un midlet, espero me puedan ayudar. La cuestion es la siguiente: en mi codigo tengo mi clase ...
  #1 (permalink)  
Antiguo 12/11/2010, 13:18
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
[Resuelto] Error al cerrar aplicacion J ME

Hola a tod@s.

tengo el siguiente problema con un midlet, espero me puedan ayudar.

La cuestion es la siguiente:
en mi codigo tengo mi clase que hereda de midlet y en esta al crear el display le asigno un canvas como interfaz

Código java:
Ver original
  1. public class main extends MIDlet {
  2.     public void startApp() {
  3.         display=Display.getDisplay(this);
  4.         display.setCurrent(new miCanvas());
  5.     }
  6. }

el problema viene cuando intento cerrar la aplicacion, esto debido a que el boton de cerrar esta en el canvas y no en la clase main, por lo que cuando hago:

Código java:
Ver original
  1. public void commandAction(Command c, Displayable d) {
  2.  
  3.         if(c==salir){
  4.             new main().destroyApp(false);
  5.         }
  6. }

esto desde la clase miCanvas y no desde main y esto me retorna la siguiente exceocion:
Cita:
java.lang.SecurityException: Application not authorized to access the restricted API
alguien sabe como es que tengo que hacer para que se cierra de forma correcta la aplicacion??

Gracias por la ayuda.

Última edición por lair; 12/11/2010 a las 19:50
  #2 (permalink)  
Antiguo 12/11/2010, 19:57
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: [Resuelto] Error al cerrar aplicacion J ME

lo que hice para resolverlo fue lo siguiente:

primero en la clase main cree un metodo salir

Código java:
Ver original
  1. public void salir(){
  2.         destroyApp(false);
  3.         notifyDestroyed();
  4. }

despues de esto al colocar el canvas como interfaz lo hice asi:

display.setCurrent(new miCanvas(this));

esto para mandar la clase main a la clase canvas y tener acceso a sus metodos.

en la clase canvas declare una variable global:
private main main;

y asi el constructor
Código java:
Ver original
  1. public miCanvas(main mid){
  2.     //en la variable mid llega la clase main
  3. }

y finalmente en el boton de salir hice lo siguiente:
Código java:
Ver original
  1. public void commandAction(Command c, Displayable d) {
  2.         if(c==salir){
  3.             //main es mi variable global declarada anterior mente
  4.             main.salir();
  5.         }
  6. }

no se si sea la mejor forma de hacerlo pero ya funciona.

Gracias a todos los que se tomaron el tiempo de leer el post

Aqui esta ya la solucion. Gracias nuevamente.

Etiquetas: cerrar, aplicaciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:02.