Ir al contenido principal

Leyendo los datos del Form

Buenas, hoy continuaremos nuestro ejemplo: Trabajando con la Clase Form. Ahora le agregamos alguna funcionalidad a nuestro formulario y mostraremos como obtener los datos que el usuario ingrese.

1 - Primero crearemos un atributo de Tipo: Command


private Command guardar;


2 - Creamos nuestro Comando guardar:


guardar = new Command("Guardar", Command.OK, 0);


La clase Command recibe por parámetros:

 * Titulo : El nombre del comando
 * Tipo: El tipo de Comando podrás elegir entre:


Command.BACK
Command.CANCEL
Command.EXIT
Command.HELP
Command.ITEM
Command.OK
Command.SCREEN
Command.STOP


Según tu comando deberás elegir el que mas corresponda con la acción de tu comando.

3 - Ahora tendremos que agregar nuestro comando al formulario, pero primero deberemos implementar la interface de CommandListener a nuestro MIDlet para que pueda recibir los comandos que agreguemos:


public class ClaseTresMidlet extends MIDlet implements CommandListener


Al implementar esta interface nos pedirá que es necesario que nuestra clase tenga un método: commandAction, así que deberemos crearlo:


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



4 - Ahora agregamos nuestro comando al formulario:


formulario.setCommandListener(this);
formulario.addCommand(guardar);



Con la primera linea definimos quien responderá por los comandos, en este caso sera nuestra propia clase (o MIDlet), y después en la otra linea agregamos el comando creado anteriormente.

5 - Ya teniendo agregado nuestro comando al formulario lo único que nos queda por realizar son las acciones cuando el usuario seleccione el comando, tendremos que trabajar ahora dentro del método commandAction:


if(c == guardar){
            // obtenemos lo que se escribio en el TextFIeld
            campo.getString();
            // Obtenemos la fecha que el usuario introducio
            fecha.getDate();
            // Devuelve el valor del Gauge
            volumen.getValue();
            // Devuelve el numero de item seleccionado de la lista
            lista.getSelectedIndex();
}



Entonces primero comparamos el comando ejecutado con nuestro comando, esto se realiza para saber que comando ejecuto el usuario. Si el comando "c" es igual a "guardar" entonces el usuario hizo clic en el comando guardar, y ahí adentro tendríamos que realizar lo correspondiente con los datos.

6 - Ahora creamos un comando para salir de la aplicación, primero creamos un atributo:


private Command salir;


Creamos el comando:


salir = new Command("Salir", Command.EXIT, 0);


y lo Agregamos al formulario:


formulario.addCommand(salir);


Ahora dentro del método commandAction verificaremos si se ejecuto el comando salir:


if(c == guardar){
            // obtenemos lo que se escribio en el TextFIeld
            campo.getString();
            // Obtenemos la fecha que el usuario introducio
            fecha.getDate();
            // Devuelve el valor del Gauge
            volumen.getValue();
            // Devuelve el numero de item seleccionado de la lista
            lista.getSelectedIndex();
}else if(c == salir){
            // salimos de la Aplicacion
            notifyDestroyed();
}


Codigo Completo:

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

/**
* @author matias
*/
public class ClaseTresMidlet extends MIDlet implements CommandListener {
private Display pantalla;
private Form formulario;

private ChoiceGroup lista;
private DateField fecha;
private Gauge volumen;
private StringItem texto;
private TextField campo;

private Command guardar;
private Command salir;

public ClaseTresMidlet(){
pantalla = Display.getDisplay(this);

guardar = new Command("Guardar", Command.OK, 0);
salir = new Command("Salir", Command.EXIT, 0);

formulario = new Form("Mi Formulario");
formulario.setCommandListener(this);
formulario.addCommand(guardar);
formulario.addCommand(salir);

lista = new ChoiceGroup("Opciones", ChoiceGroup.EXCLUSIVE);
lista.append("Opcion 1", null);
lista.append("Opcion 2", null);
lista.append("Opcion 3", null);
lista.append("Opcion 4", null);

fecha = new DateField("Aniversario", DateField.DATE);
volumen = new Gauge("Volumen", true, 10, 5);
texto = new StringItem("Mi texto", "USted esta completando nuestro formulario, Gracias");
campo = new TextField("Nombre", "", 30, TextField.ANY);

formulario.append(campo);
formulario.append(lista);
formulario.append(volumen);
formulario.append(texto);
formulario.append(fecha);
}

public void startApp() {
pantalla.setCurrent(formulario);
}

public void pauseApp() {
}

public void destroyApp(boolean unconditional) {
}

public void commandAction(Command c, Displayable d) {
if(c == guardar){
// obtenemos lo que se escribio en el TextFIeld
campo.getString();
// Obtenemos la fecha que el usuario introducio
fecha.getDate();
// Devuelve el valor del Gauge
volumen.getValue();
// Devuelve el numero de item seleccionado de la lista
lista.getSelectedIndex();
}else if(c == salir){
// salimos de la Aplicacion
notifyDestroyed();
}
}
}

Y así podemos obtener los datos que el usuario introduce en el formulario.

Seguiremos con mas tutoriales...

Saludos
Maty!

Comentarios

  1. obtenes los datos, y exactamente donde lo guardas? , xq tengo entendido que de la unica forma de guardar los datos es con MIR no?

    ResponderBorrar
  2. Hola K3RN3L en este tutorial no estamos guardando los datos en un almacenamiento persistente.

    Espero poder traerles un tutorial para mostrarle como se puede guardar informacion en los dispositivos J2ME. Esto se realiza con los RecordStores.

    Saludos...
    Matias
    www.matydeveloper.com.ar

    ResponderBorrar
  3. Hola Matias, queria saber si tenes algo como este tutorial pero utilizando los RecordStores. Otra pregunta: para realizar un cotizador hay que utilizar algoritmos o se realiza de otra manera?
    Gracias.

    ResponderBorrar
  4. Hola, hace mucho q no actualizo el blog, vere si puedo conseguirte algun tutorial de RecordStore. Con respecto al Cotizador que es lo que quieres hacer ?, un Cotizador de Monedas ?

    ResponderBorrar
  5. le entiendo mas a este blog que a mi maestra

    ResponderBorrar

Publicar un comentario

Entradas más populares de este blog

Introducción a LWUIT

Buenas, hoy les presentare una libreria para Java ME, que mejora notablemente la interfaz de usuario: Lightweight UI Toolkit Library, mejor dicho LWUIT. Primero para poder utilizar esta librería tendremos que descargarla. Hacer clic aqui para descargar . Una vez descargada y descomprimida, en cualquier lugar. Procedemos a crear un proyecto nuevo en nuestro NetBeans. y Ingresamos a las propiedades haciendo clic derecho sobre el proyecto: Ingresamos a Librerías y Recursos, y hacemos clic en Agregar Jar/Zip: Y buscamos en donde descomprimimos el archivo: LWUIT.jar Hacemos clic en aceptar y ya tendremos disponible la librería para trabajar en nuestro proyecto. Les dejo un pequeño código de muestra para que se fijen si les funciona todo bien: import com.sun.lwuit.Command; import com.sun.lwuit.Display; import com.sun.lwuit.Form; import com.sun.lwuit.Label; import com.sun.lwuit.animations.CommonTransitions; import com.sun.lwuit.layouts.BorderLayout; import javax.microedition.midlet.*; /**  *

GastosMax - Mi Primera Aplicacion Jave ME

Buenas hoy les presentare mi primera aplicación hecha en Java ME, que es soportada para la mayoría de los celulares del mercado. GastosMax es una simple aplicación con la que puedes llevar un simple detalle de todos tus gastos. Tendras un listado de todos tus gastos y el total de todo lo que llevas gastando. Descargar GastosMax v1.0.0 Aceptamos cualquier sugerencia y opiniones para mejorar la aplicación ;). Imágenes:

MOTODEV SDK for Java ME v3.0 (Emulador)

Para poder probar su aplicación en los diferentes celulares, tendrás que descargar el emulador de cada empresa para verificar si la aplicación funciona en cada celular. Hoy les mostrare como hacer para descargar el Emulador de Java ME de Motorola: 1 - Ingresamos a la Web de Desarrolladores para Motorola ( http://developer.motorola.com/ ) 2 - Pasamos el Mouse sobre "Platforms" y haces clic en Java ME: 3 - Ahora te dirigis a SDKs: 4 - Haces clic en el ultimo enlace: MOTODEV SDK for Java ME 5 - Clic en Download 6 - Por ultimo elegin la version para su Sistema Operativo y lo instalan. Bueno eso es todo por hoy, proximamente un tutorial para agregar los emuladores a Netbeans y como usarlos... Saludos... Maty