Textfeld mit Variablen

Alles was mit dem Mobility-Pack zusammen hängt.

Moderator:wegus

Antworten
georgie
Beiträge:11
Registriert:28.05.2009, 15:35
Textfeld mit Variablen

Beitrag von georgie » 28.05.2009, 15:47

hi leute
sry, für die anfänger frage, hab jedoch schon die ganze zeit verschiedene sachen versucht und bekomms einfach ned hin -.-
wie der titel schon sagt will ich in mit der funktion g.drawString nen text samt ner zahl, die durch variablen errechnet wird ausgeben, jedoch funktioniert dies nicht...

Code: Alles auswählen

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



    public class Blub  {
 public void paint(Graphics g) 
    {
	// 1. Schritt: Bekanntgabe der Mitspieler
        int laenge;	// Deklaration von laenge
        int breite = 10;	// Deklaration und Initialisierung 
        int flaeche; // Deklaration der Fläche
        
        // 2. Schritt: Initialisierung (= 1. Zuweisung)
        laenge = 20;
        
        // 3. Schritt: Berechnung und Zuweisung
        flaeche = laenge * breite;
        // 4. Schritt: Ergebnis ausgeben
        g.drawString("Die Fläche beträgt "+flaeche, 50,50);
    }

}

Benutzeravatar
arittner
Beiträge:3229
Registriert:05.08.2008, 07:20
Wohnort:Südniedersachsen
Kontaktdaten:

Beitrag von arittner » 28.05.2009, 16:46

Moin!

Geht es wirklich um eine Java-App auf einem Handy/Mobile?

Und wenn ja, da gibt es doch auch Textkomponenten.

Beste Grüße,
Josch.
JNBB/BeanDev-Blog | Twitter@beandev
Bild
Sun Certified Specialist for NetBeans IDE

georgie
Beiträge:11
Registriert:28.05.2009, 15:35

Beitrag von georgie » 28.05.2009, 16:52

ja geht es..
ist son informatik projekt von unserem lehrer..
?
sry, bin eigntl nicht wirklich gut in programmieren etc.. muss aber noch dieses semester mit informatik durchstehen^^
wo gibt es solche?

greetz

Benutzeravatar
smurfi
Site Admin
Beiträge:1641
Registriert:29.06.2006, 11:33
Wohnort:Wuppertal
Kontaktdaten:

Re: Textfeld mit Variablen

Beitrag von smurfi » 28.05.2009, 21:05

Hallo,
georgie hat geschrieben: wie der titel schon sagt will ich in mit der funktion g.drawString nen text samt ner zahl, die durch variablen errechnet wird ausgeben, jedoch funktioniert dies nicht...
was funktioniert denn nicht?
Gibt er denn überhaubt einen Text aus?
Fehlt nur die 'flaeche'?

Gruss
Michael

georgie
Beiträge:11
Registriert:28.05.2009, 15:35

Beitrag von georgie » 29.05.2009, 12:06

oO
sry, habe ganz vergessen zu erwähnen was nicht funktioniert
mit der Funktion

g.drawString ("Die Fläche beträgt: ", +fläche,50,50);

gibt er mir zwar den Text "Die Fläche beträgt: " aus, jedoch wird die errechnete Zahl nicht ausgegeben.
Eine Fehlermeldung, die Aufschluss geben könnte, wird nicht angezeigt, ergo müsste es eigentlich funktionieren.

Benutzeravatar
smurfi
Site Admin
Beiträge:1641
Registriert:29.06.2006, 11:33
Wohnort:Wuppertal
Kontaktdaten:

Beitrag von smurfi » 29.05.2009, 13:27

Was passiert den mir dem debugger, was zeigt er dir denn da an?

Gruss
Michael

Benutzeravatar
smurfi
Site Admin
Beiträge:1641
Registriert:29.06.2006, 11:33
Wohnort:Wuppertal
Kontaktdaten:

Beitrag von smurfi » 29.05.2009, 13:42

Hallo,

was mich noch ein wenig wundert ist das

Code: Alles auswählen

g.drawString("Die Fläche beträgt "+flaeche, 50,50);
ein parameter mehr erwartet (anchor]

Code: Alles auswählen

g.drawString(String, int X, int Y, int anchor);
Gruss
Michael

Michael

Beitrag von Michael » 29.05.2009, 16:11

georgie hat geschrieben:g.drawString ("Die Fläche beträgt: ", +fläche,50,50);
Da ist auf einmal ein Komma mehr als im ersten Post.
Liegt es vielleicht daran?

georgie
Beiträge:11
Registriert:28.05.2009, 15:35

Beitrag von georgie » 29.05.2009, 16:41

@michael
das komma stimmt schon so..sry wegn der verwirrung..es müssen nach dem string, der fläche, und dem ersten 50er ein komma sein

so..habe jetzt mal debuggen lassen und unter der kategorie "Local Variables" ist eine Meldung gekommen:

No variables to display because there is no current thread

hoffe mal das hilft weiter

noch eine frage: was ist dieses "anchor" eigentlich? werd nicht daraus schlau..

greetz

Benutzeravatar
Baldur
Beiträge:152
Registriert:21.11.2008, 16:36

Beitrag von Baldur » 29.05.2009, 16:47

Versuchs doch einfach mal so ;)

Code: Alles auswählen

g.drawString("Die Fläche beträgt " + flaeche, 50, 50, Graphics.TOP | Graphics.LEFT); 
Das Komma zwischen dem Text und der Fläche ist definitiv falsch! Damit legst du fest, daß "flaeche" als zweiter Parameter genommen wird, und nicht an den Text angehängt wird. So wurde flaeche als X-Koordinate interpretiert, wodurch der Text evtl sogar weit außerhalb des Bildschirms gezeichnet wurde.

Der letzte Parameter (anchor) legt fest, wie der Text an der angegebenen Position (50,50) ausgerichtet wird. Mittels Graphics.TOP | Graphics.LEFT legst du fest, daß sich an 50,50 die obere linke Ecke des Textes befinden soll.

georgie
Beiträge:11
Registriert:28.05.2009, 15:35

Beitrag von georgie » 29.05.2009, 17:01

oO
es geht danke dir!!!
komisch, tschuldigung dass ich blödsinn erzählt habe, jedoch erschien bei mir ein fehler sobald ich jenes komma gelöscht habe
naja, jetzt geht es
den anderen auch danke für eure hilfe

greetz

Benutzeravatar
Baldur
Beiträge:152
Registriert:21.11.2008, 16:36

Beitrag von Baldur » 29.05.2009, 17:55

Gerne geschehen ;)

Der Fehler kam, weil ohne das Komma nur 3 Parameter vorhanden waren - der anchor fehlte dann ja, und von drawString gibt es keine Überladungen (=alternative Variante dieser Funktion), bei der man keinen anchor angeben müßte.

Antworten