# Probleme mit der drawString Methode bei Canvas



## Unregistriert (23. Okt 2009)

hallo leute,

ich hab heute mein buch "java goes handy" bekommen und hab direkt angefangen fleißig zu lesen.
jetzt bin ich bei den ersten beispiel midlets. ein normales hello world programm mit einer textbox funktioniert.

wenn ich jetzt ein hello world midlet mit canvas versuche passiert nichts. einfach ein schwarzer bildschirm. code ist 1 zu 1 ausm buch!

Code:


```
public class MidletMitCanvas extends MIDlet implements CommandListener
{
    Command cExit = new Command("Ende",Command.SCREEN,1);

    public void commandAction(Command c, Displayable d)
    {
        if(c == cExit)
        {
            destroyApp(false);
            notifyDestroyed();
        }
    }

    public void startApp() 
    {
        Display d = Display.getDisplay(this);

        final Canvas screen = new Canvas()
        {
            protected void paint(Graphics g)
            {
                g.drawString("Hello World", 0, 0, Graphics.TOP | Graphics.LEFT);
            }
        };

        d.setCurrent(screen);
        screen.addCommand(cExit);
        screen.setCommandListener(this);
    }

    public void pauseApp()
    {
    }

    public void destroyApp(boolean unconditional)
    {
    } 
}
```

hoffe ihr könnt mir helfen.

gruß marcel


----------



## The_S (26. Okt 2009)

Ja, du setzt die Farbe des Textes nicht. So wird in der selben Farbe gezeichnet, in der auch der Hintergrund gehalten ist.


----------



## Unregistriert (26. Okt 2009)

nein daran liegt es nicht, hab die farbe auf rot gesetzt und trotzdem kommt nur ein schwarzer bildschrim...


----------



## The_S (26. Okt 2009)

Doch. Wenn ich ne Farbe setze gehts anschließend bei mir.


----------



## Unregistriert (26. Okt 2009)

hier jetzt mal nur noch die startapp am rest habe ich nichts verändert.


```
public void startApp()
    {
        Display d = Display.getDisplay(this);

        final Canvas screen = new Canvas()
        {
            protected void paint(Graphics g)
            {
                g.setColor(255, 0, 0);
                g.drawString("Hello Canvas", 0, 0, Graphics.TOP);
            }
        };

        d.setCurrent(screen);
        screen.addCommand(cExit);
        screen.setCommandListener(this);
    }
```

farbe gesetzt. und ich es starte -> schwarzer bildschirm :/


----------



## The_S (26. Okt 2009)

Unregistriert hat gesagt.:


> hier jetzt mal nur noch die startapp am rest habe ich nichts verändert.



Äh ... doch!? Zum Einen den Text (nicht dramatisch), zum Anderen aber die Ausrichtung (dramatisch).


----------



## Unregistriert (26. Okt 2009)

ja ok. hab die ausrichtig wieder wie im ersten post gemacht, jetzt gehts. danke.

aba wieso is das so wichtig? ich dachte wen ich nur .top mach das es halt oben ist und nicht links oben...

nochmals danke


----------



## The_S (26. Okt 2009)

Es ist oben unterhalb an der y-Koordinate 0. Außerdem ist der Text horizontal an der x-Koordinate 0 ausgerichtet. Obs jetzt zentriert, links oder rechtsdavon ist, hast du nicht spezifiziert.


----------



## Unregistriert (26. Okt 2009)

aso ok alles klar hab verstanden^^
noch ma vielen danke.

marcel


----------

