JavaFX07
Erstelle eine JavaFX-Anwendung zur Animation beliebig vieler, unterschiedlich großer, unterschiedlich farbiger und unterschiedlich schneller Gummibälle anhand des abgebildeten Klassendiagramms sowie des abgebildeten Szenegraphs.
Klassendiagramm
Szenegraph
Allgemeine Hinweise
- Die Klasse 
AnimationTimerrepräsentiert einen Zeitmesser - Die Methode 
void start()der KlasseAnimationTimerstartet den Zeitmesser - Die Methode 
GraphicsContext getGraphicsContext2D()der KlasseCanvasgibt die Grafik einer Leinwand zurück - Die Methoden 
double getWidth()unddouble getHeightder KlasseCanvasgeben die Breite bzw. die Höhe einer Leinwand zurück - Die Methode 
void setFill(p: Paint)der KlasseGraphicsContextsetzt die Füllfarbe einer Grafik auf den eingehenden Wert - Die Methoden 
void fillRect(x: double, y: double, w: double, h: double)undvoid fillOval(x: double, y: double, w: double, h: double)der KlasseGraphicsContextzeichnen ein ausgefülltes Rechteck bzw. ein ausgefülltes Oval mit den eingehenden Informationen und der aktuellen Füllfarbe auf die Grafik - Der Konstruktor
Color(red: double, green: double, blue: double, opacity: double)der KlasseColorermöglicht das Erzeugen einer (durchsichtigen) Farbe 
Hinweise zur Klasse Ball
- Der Konstruktor soll alle Attribute initialisieren
 - Die Methode 
void move()soll die x- und y-Position des Balls um die dazugehörigen Geschwindigkeitswerte erhöhen und sicherstellen, dass der Ball beim Überschreiten der eingehenden Grenzen an diesen "abprallt" 
Hinweise zur Klasse Model
- Der Konstruktor soll die Gummiballliste initialisieren
 - Die Methode 
void addBall(ball: Ball)soll den eingehenden Gummiball der Gummiballliste hinzufügen 
Hinweis zur Klasse Controller
Die Methode void initialize(location: URL, resources: ResourceBundle) soll das
Model initialisieren und kontinuierlich alle Gummibälle der Gummiballliste
bewegen sowie die Leinwand neu zeichnen. Zudem soll bei einem Mausklick auf die
Leinwand an der geklickten Stelle ein Gummiball zufälliger Größe, Farbe und
Geschwindigkeitswerten erstellt werden.