Ich bin mir nicht sicher warum, aber in meiner paintComponent-Methode, die fillOval-Funktion lässt mich nicht meine anderen Klassen Koordinaten übergeben. Es kommt mit:fillOval() nimmt keine Klassenvariablen?
'Exception in thread "AWT-Eventqueue-0" java.lang.NullPointerException'
alle Rechtecke zeichnen in Ordnung, aber nicht nur das Oval. Hier ist die paintComponent() -Methode.
public void paintComponent(Graphics graphics){
graphics.setColor(Color.BLACK);
graphics.fillRect(0,0,600,450);
graphics.setColor(Color.WHITE);
graphics.fillRect(290,0,15,450);
graphics.fillRect(leftPaddle.getXPos(),leftPaddle.getYPos(),10,85);
graphics.fillRect(rightPaddle.getXPos(),rightPaddle.getYPos(),10,85);
graphics.fillOval(ball.getxPos(),ball.getyPos(),ball.getWidth(),ball.getHeight());
}
Und hier ist meine Ball-Klasse (die Klasse, die die Koordinaten trägt).
public class Ball {
int xPos = 140;
int yPos = 50;
int width = 15;
int height = 15;
public int getWidth() {
return width;
}
public int getxPos() {
return xPos;
}
public int getyPos() {
return yPos;
}
public int getHeight() {
return height;
}
}
Dies ist wahrscheinlich eine ganz einfache Lösung, aber ich bin relativ neu in Java, so entschuldige Formatierungsfehler usw.
Hier ist, wo ich das Objekt aus der Mainclass :
public class PaintComponents extends JPanel{
Paddle leftPaddle;
Paddle rightPaddle;
Ball ball;
public PaintComponents(Paddle leftPaddle, Paddle rightPaddle, Ball ball) {
this.leftPaddle = leftPaddle;
this.rightPaddle = rightPaddle;
this.ball = ball;
}
Vielen Dank, du bist ein Lebensretter! Ja, ich sehe es jetzt, danke! –