Seite 1 von 1

Problem mit JAVA...

Verfasst: Do 3. Feb 2005, 01:49
von Mr.Macintosh
Hi Leute!

Ich hab ein Problem mit Java.
Und zwar habe ich folgendes total einfaches Applet geschrieben (zumindest hab ich mich dran versucht) und der Compiler zeigt mir auch keinen Fehler an.
Aber beim Ausführen zeigt er ne gaaaanz komische Fehlermeldung an...

...kann eventuell von euch mal einer nen kurzen Blick draufwerfen und es evtl mal durch seinen Compiler durchjagen?
Ich verwende die NetBeans Version 3.6.

Hier ist mal der Quellcode:

Code: Alles auswählen

import java.awt.*;
import java.applet.Applet;
import java.awt.event.*;

public class Flaechen extends Applet implements ActionListener 
{
    public int flaeche;
    public int laengeEin;
    public int breiteEin;
    public TextField laenge;
    public TextField breite;
    
    public void init () 
    {
        breiteEin = 0;
        laengeEin = 0;
        flaeche = 0;
        
        add(laenge);
        laenge.addActionListener(this);
        laenge = new TextField (5);
    
        add(breite);
        breite.addActionListener(this);
        breite = new TextField (5);
    }
    
    public void actionPerformed(java.awt.event.ActionEvent actionEvent)
    {
        laengeEin = Integer.parseInt(laenge.getText());
        repaint();

        breiteEin = Integer.parseInt(breite.getText());
        repaint();
    }
    
    public void paint(Graphics g)
    {
        flaeche = laengeEin * breiteEin;
            g.drawString("Die Fläche des Rechtecks beträgt: " + flaeche, 50,50);
    }
    
}
Ihr seht: Das ist nicht schwer, ich steh ja noch ganz am Anfang, aber ich wollte eben die Flächen per Textfeld-Eingabe berechnen lassen. Und wie gesagt, der Compiler zeigt auch keinen Fehler an. Der Debugger zeigt ebenfalls keinen Fehler oder so an.
Nur wenn ich es dann ausführe kommt folgende Fehlermeldung:

Bild

oder nochmal der link auf nur das Bild (ohne Kringel): Click

vielen Dank schonmal!

Grüße!

Flo

Verfasst: Do 3. Feb 2005, 08:56
von DukE[2k3]
du erzeugst eine:

Code: Alles auswählen

java.lang.NullPointerException
        at java.awt.Container.addImpl(Container.java:621)
        at java.awt.Container.add(Container.java:307)
        at Flaechen.init(Flaechen.java:19)
        at sun.applet.AppletPanel.run(AppletPanel.java:353)
        at java.lang.Thread.run(Thread.java:534)
warum? - weil Du Deine Instanz des jeweiligen Textfeldes erst nachdem Du es
bereits "add"en wolltest erzeugst!

- Setze die jeweilge "add"-Zeile unter die beiden anderen und
- erzeuge zunächst die jeweilige Instanz (also new ...)

fertig ... :wink:

z.B.:

Code: Alles auswählen

laenge = new TextField (5);
laenge.addActionListener(this); 
add(laenge);

Cheers
der DukE

Verfasst: Do 3. Feb 2005, 09:40
von Mr.Macintosh
Cool. Danke! :-)
Das hab ich übersehen...
...aber das werd ich mir jetz sicher merken.

Haha...

Jetzt geht's.

Viele dankbare Grüße!

Flo