Rozszerzenie Ellipse2D.Double

0

Ogólnie mój program ma polegać na symulacji graficznej rzutu ukośnego

Mam klasę rozszerzającą Ellipse2D.Duble o nazwie Ball. Klasa ta wygląda mniej więcej tak: (pomijam gettery, settery i inne nieistotne pierdoły)

import java.awt.geom.Ellipse2D;

public class Ball extends Ellipse2D.Double {
	private double xSpeed;
	private double ySpeed;
	
	private double weight;

	public Ball(double x, double y, double width, double height, double xSpeed, double ySpeed, double weight) {
		super(x, y, width, height);
		this.xSpeed = xSpeed;
		this.ySpeed = ySpeed;
		this.weight = weight;
	}
}

W klasie komponentu rysującego tworzę obiekt Ball b1

b1 = new Ball(100, 100, 50, 50, 30, 20, 5);

a potem próbuję go narysować public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
if (ball != null) {
g2.draw(b1);
}
}


Problem w tym że rysuje sie tylko pojedyncza kropka w lewym górnym rogu ekranu. Mimo użycia konstruktora b1 ma pozycję [0, 0] i rozmiary 0x0
Zauważyłem jednak że jeżeli utworzę sobie na szybko obiekt Ellipse2D.Double i go narysuję to wszystko działa. Więc wydaje mi się chyba źle napisałem klasę Ball. Coś zepsułem przy dziedziczeniu chyba. 
Prosiłbym o wskazówki :)

edit: jakby co to klasa panelu rysującego ma pole Ball b1, a b1 inicjalizuję po naciśnięciu przycisku znajdującego się w  innym panelu.
0

Tworzysz obiekt Ball b1 (wygląda, że poprawnie), a rysujesz obiekt ball.

1 użytkowników online, w tym zalogowanych: 0, gości: 1