Java/Tutorials/Hello World

Aus Scientia
Version vom 24. Januar 2011, 12:23 Uhr von Alexis Hiemis (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Los geht’s

Zunächst legen wir 2 Klassen mit den Namen Midlet und Bildschirm an, die wir wie folgt aufsetzen:

Midlet.java:

import javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;
 
public class Midlet extends MIDlet
{
    protected void startApp()
    {
        Display disp = Display.getDisplay(this);
        Bildschirm bild = new Bildschirm();
        disp.setCurrent(bild);
    }
    protected void pauseApp(){}
    protected void destroyApp(boolean unconditional){}
}

Bildschirm.java:

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
 
public class Bildschirm extends Canvas
{
    byte Position = Graphics.TOP|Graphics.LEFT;
 
    protected void paint(Graphics g)
    {
        g.drawString("Hallo Welt :D", 50, 50, Position);
    }
}

Erläuterung des Codes

Zu Midlet.java:

Zunächst importieren wir die beiden benötigten Klassen.

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

Mithilfe der Display Klasse sichern wir uns den Zugriff auf das Handydisplay. Die MIDlet Klasse stellt uns die Methoden

startApp()
pauseApp()
destroyApp(boolean unconditional)

zur Verfügung, welche zwar implementiert werden müssen, aber nicht unbedingt einen Code enthalten müssen.

Die MIDlet Klasse bietet uns sozusagen einen Einstiegspunkt in die Programmierung. (Vergleichbar mit der Main Klasse einer Java SE Anwendung) Deshalb leiten wir unsere Klasse von der MIDlet Klasse ab.

public class Midlet extends MIDlet

Als nächstes beschreiben wir die uns zur Verfügung gestellte Methode startApp() wie folgt:

Display disp = Display.getDisplay(this);
Bildschirm bild = new Bildschirm();
disp.setCurrent(bild);

Mit Display disp = Display.getDisplay(this) sichern wir uns den Zugriff auf das Handydisplay

Mit Bildschirm bild = new Bildschirm() erzeugen wir eine Instanz (also ein Objekt) unserer Bildschirm Klasse und übergeben diese mit disp.setCurrent(bild) an unseren Handydisplay.

Zu Bildschirm.java:

Auch hier haben wir zunächst zwei Importanweisungen

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

Wir leiten unsere Bildschirmklasse von Canvas ab, welche uns die Methode paint() bereitstellt.

Die Graphics Klasse stellt uns einen Grafikobjekt sowie zahlreiche Methoden zum Zeichnen von 2D Grafiken und natürlich auch eine Methode mit der wir letztendlich unsere Hallo Welt Nachricht auf das Handydisplay kriegen zur Verfügung.

In der Zeile

byte Position = Graphics.TOP|Graphics.LEFT;

legen wir lediglich fest, wo wir den Koordinatenursprung haben wollen,

in diesem Fall linke obere Ecke des Displays.

Kommen wir nun zu unserer paint() Methode.

Diese enthält nur eine Zeile Code, welche unsere Nachricht auf das Display zeichnet.

g.drawString("Hallo Welt :D", 50, 50, Position);

g ist unser aktuelles Grafikobjekt. Mit dessen Hilfe zeichnen wir mit der drawString() Methode unsere Nachricht auf das Handydisplay.

Die drawString() Methode erwartet von uns folgende Parameter: String, x_pos, y_pos, Koordinatenursprung

Nun sind wir soweit fertig, dass wir den Code kompilieren und ihn auf einem Handyemulator anzeigen können.

Das Ergebnis

Hello World.png

Natürlich könnt ihr den Code auch auf euren Handy ausführen (sofern es Javafähig ist) indem ihr die erzeugten JAD und JAD Dateien auf euer Handy packt und installiert.

Die Dateien findet ihr (bei NetBeans) in euren Projektordner unter dist