Hallo zusammen,
bin gerade erst im Einstieg mit der Sprache Java und versuche seit ne Stunde hier meinen Fehler zu erkennen.
Jedoch, bin ich gerade mit meinem Latein am ende und benötige hier bitte Unterstützung.
Anhand einer Aufgabestellung" Erstelle einen Kreis der grafisch dargestellt werden soll. Hierzu verwende ich seit mehreren Aufgaben die Klasse "kreis" sowie die Klasse "KreisApplikation".
Eigentlich, sollte jetzt ein Kreis auf dem Bildschirm dargestellt werden
. Jedoch erhalte ich die folgenden Fehlerhinweise:
Exception in thread "main" java.lang.NullPointerException
at Kreis.<init>(Kreis.java:37)
at KreisApplikation.<init>(KreisApplikation.java:17)
at KreisApplikation.main(KreisApplikation.java:32)
Meine Vermutung ist, dass ich irgendetwas an der Klasse drawOval noch initialisieren muss. Jedoch stehe ich gerade völlig auf dem Schlauch und meine Änderungen haben zu keinerlei Lösungsansätze herbeigeführt.
Wer kann mir bitte hierzu einen Tipp geben, damit ich auf den richtigen Lösungsweg komme?
Vielen Dank im Voraus.
Viele Grüße
Petro
Code von kreis:
Code von KreisApplikation:
bin gerade erst im Einstieg mit der Sprache Java und versuche seit ne Stunde hier meinen Fehler zu erkennen.
Jedoch, bin ich gerade mit meinem Latein am ende und benötige hier bitte Unterstützung.
Anhand einer Aufgabestellung" Erstelle einen Kreis der grafisch dargestellt werden soll. Hierzu verwende ich seit mehreren Aufgaben die Klasse "kreis" sowie die Klasse "KreisApplikation".
Eigentlich, sollte jetzt ein Kreis auf dem Bildschirm dargestellt werden
Exception in thread "main" java.lang.NullPointerException
at Kreis.<init>(Kreis.java:37)
at KreisApplikation.<init>(KreisApplikation.java:17)
at KreisApplikation.main(KreisApplikation.java:32)
Meine Vermutung ist, dass ich irgendetwas an der Klasse drawOval noch initialisieren muss. Jedoch stehe ich gerade völlig auf dem Schlauch und meine Änderungen haben zu keinerlei Lösungsansätze herbeigeführt.
Wer kann mir bitte hierzu einen Tipp geben, damit ich auf den richtigen Lösungsweg komme?
Vielen Dank im Voraus.
Viele Grüße
Petro
Code von kreis:
Java:
public class Kreis extends Object
{
public int x; // Mittelpunkt -x Datentyp / Bezeichner/ WERT
public int y; // Mittelpunkt -y
public int radius;
public final double PI = 3.14159; // final Deklaration für die Konstante PI
private Kreis g;
private static int kreisZaehler = 0;
public Kreis()
{
this (100, 100 ,50 );
}
public Kreis (int x, int y, int radius)
{
this.x = x;
this.y = y;
this.radius = radius;
kreisZaehler++;}
public static int getkreisZaehler(){
return kreisZaehler;
}
public void zeichne (java.awt.Graphics g) {
}
public void drawOval (int x, int y, int width, int height) {
}
{
[B] [/B][COLOR=rgb(243, 121, 52)][B]g.drawOval(x-radius, y-radius, 2 * radius, 2 * radius);[/B][/COLOR]
}
public int getX() { return x; }
public int getY() { return y; }
public int getRadius() { return radius; }
public double getFlaeche()
{
return radius * radius * PI;
}
public double getUmfang()
{
return 2 * radius * PI;
}
public void bewege(int deltaX, int deltaY)
{
x += deltaX;
y += deltaY;
}
public void skaliere(int deltaRadius)
{
radius += deltaRadius;
}
public String toString()
{
return "Kreis - Mittelpunkt "+x+"/"+y+", Radius "+radius;
}
public boolean equals(Object obj)
{
if(obj == null) {
return false;
}
if (obj == this) {
return false;
}
if (!(obj instanceof Kreis)){
return false;
}
Kreis k =(Kreis)obj;
return k.x==x && k.y==y && k.radius == radius;
}
}
Code von KreisApplikation:
Java:
import javax.swing.JFrame;
import javax.swing.JTextArea;
import java.awt.Graphics;
public class KreisApplikation extends JFrame{
JTextArea m_resultArea = new JTextArea(6, 30);
private static final long serialVersionUID = 1L;
[COLOR=rgb(184, 49, 47)][B] Kreis kreis;[/B][/COLOR]
public KreisApplikation() {
kreis = new Kreis(100,100,50);
this.setSize (300,300); // Kreisobjekt initialisieren
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
public void paint(Graphics g) {
kreis.zeichne(g);
}
public static void main (String [] args) {
[B][COLOR=rgb(65, 168, 95)] new KreisApplikation().setVisible(true);[/COLOR][/B]
}
}