Ir al contenido principal

Hola Mundo en Canvas

Buenas, después de varios días sin actualizar, disculpen fueron días de parciales y no tuve mucho tiempo para poder escribirles...

Hoy les mostrare como iniciar su proyecto a bajo nivel, la forma de crear todo por nosotros mismos.

1 - Primero creamos un proyecto, y creamos un MIDlet vació.

2 - Creamos una Nueva clase de java:


public class CanvasHolaMundo {

}



3 - Hacemos que nuestra clase herede (extends) de Canvas:


public class CanvasHolaMundo extends Canvas {

}



Deberán importar la librería: "import javax.microedition.lcdui.Canvas;", como logran ver solo anteponiendo la palabra "extends" y el nombre de la clase ya se logra hacer una herencia.

4 - Al heredar de Canvas esta clase nos obliga a crear un método:


public class CanvasHolaMundo extends Canvas {

    protected void paint(Graphics g) {
      
    }

}



Este método paint recibe el objeto Graphics que nos permitirá disponer de las primitivas para poder dibujar sobre nuestra pantalla.

5 - Dibujamos ahora "Hola mundo" en la mitad de nuestra pantalla:


protected void paint(Graphics g) {
        // Obtenemos el ancho de la pantalla y la dividimos para obtener la mitad
        int mitadAncho = getWidth()/2;
        // Obtenemos la mitad de alto de la pantalla
        int mitadAlto = getHeight()/2;
      
        g.drawString("Hola Mundo", mitadAncho, mitadAlto, Graphics.LEFT | Graphics.TOP);
    }



Primero obtenemos las medidas de las pantalla (getWidth() y getHeight()) y luego con la clase Graphics disponemos un método "drawString" que nos permitirá dibujar texto. Como parámetros:

 a) String: El texto que queremos que se escriba
 b) int: El ancho en pixeles donde se dibujara el texto
 c) int: El alto en pixeles donde se dibujara el texto
 d) El modo que se dibujara el texto, en este caso desde la posición que le hemos pasado el texto se dibujara de ese punto hacia la derecha y desde el punto hacia abajo.

6 - Solo nos queda mostrar nuestro Canvas por pantalla:


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

/**
 * @author matias
 */
public class ClaseCuatroMidlet extends MIDlet {
    Display pantalla;
    CanvasHolaMundo canvas;

    public ClaseCuatroMidlet() {
        pantalla = Display.getDisplay(this);
        canvas = new CanvasHolaMundo();
    }

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

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }
}



Sencillo obtenemos el Display para poner en pantalla nuestro canvas, instanciamos nuestro canvas y por ultimo lo mostramos por pantalla.

Muestra:


Por ultimo les dejo el código completo del canvas:


import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;

/**
*
* @author matias
*/
public class CanvasHolaMundo extends Canvas {

protected void paint(Graphics g) {
// Obtenemos el ancho de la pantalla y la dividimos para obtener la mitad
int mitadAncho = getWidth()/2;
// Obtenemos la mitad de alto de la pantalla
int mitadAlto = getHeight()/2;

g.drawString("Hola Mundo", mitadAncho, mitadAlto, Graphics.LEFT | Graphics.TOP);
}

}


Todo por hoy, Saludos desde Argentina, esperemos que este Sábado ganemos.

Maty.

Comentarios

  1. Amigo ejecutando este ejemplo me sale este error :
    TRACE: , Exception caught in Display class

    Supongo que hay un error al dibuja el canvas, ¿Hay alguna forma de solucionar esto?

    ResponderBorrar
  2. Es decir, al ejecutar la aplicacion sale la pantalla en negro y no se ve por ningun lado el mensaje "Hola Mundo"

    ResponderBorrar
  3. Solucion:
    Faltaba poner en el codigo que se pintara el texto en blanco:

    g.setColor(255,255,255);

    y listo...
    Amigo ¿Vas a seguir con estos tutoriales? He aprendido muchas cosas con esto... sigue asi...

    ResponderBorrar

Publicar un comentario

Entradas más populares de este blog

Android - Agregar soporte MultiWindow a tu aplicación

Hoy les dejo unas lineas para que su aplicacion sea compatible con la funcionalidad de MultiWindow de algunos dispositivos Samsung. Solo hay que agregar una lineas dentro del AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     package="com.matiascamiletti.example.multiwindow">     <uses-permission android:name="android.permission.INTERNET" />     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />       <application         android:name=".MainApplication"         android:icon="@drawable/ic_launcher"         android:label="@string/app_name"         android:theme="@style/AppTheme" >         <activity             ...

Grupo Java ME

Buenas Gente! Quería comentarles que he abierto un grupo de Java ME, para que si tienen alguna duda, comentarla ahí y tratare de ayudarlos... Visitar y Participar del Grupo Java ME Saludos... Maty!

Hola Mundo con Java ME

Buenas... Hoy un pequeño tutorial para comenzar con NetBeans y observar como crear nuestra primer aplicación con JAVA ME. 1 - Abrimos NetBeans 2 - Vamos a Archivo -> Proyecto Nuevo (Ctrl + Mayus + N) 3 - Creamos un Proyecto de Tipo: Java ME -> Mobile Application y hacemos clic en Siguiente. 4 - Aqui definimos el Nombre de nuestro Proyecto y la ubicacion. Proyect Name (Nombre del Proyecto). Y dejamos solo la  casilla seleccionada de Set as Main Project. * Set as Main Project: El proyecto se fija como Principal * Create Hello MIDlet: Seleccionando esta casilla nos creara automáticamente un Hola Mundo, pero esta clase tendrá muchos componentes que por el momento no es necesario que lo sepan, además de tener mucho código y ya asustarlos de una xD. Hacemos clic en Siguiente. 5 - En este paso podremos elegir el Emulador con que probaremos nuestra aplicación y las configuraciones de la Aplicacion. Es recomendable seleccionar CLDC-1.1 y MIDP-2.0 ya que son los estándares que soportan...