Die Umsetzung von Galton-Brett in Java - Stack-Überlauf

Ich bin die Umsetzung von Galton-Brett in Java zu schreiben, indem Sie Java AWT, Schaukel und Faden. Mein Programm hat drei Textfeld Anzahl der Slots, die Anzahl der Kugeln zu wählen, und die Anzahl des Balls fällt zur gleichen Zeit, zwei Tasten, um einen für die Anzeige und ein für das Programm starten. Ich versuche, damit es funktioniert, wie ich die Menge der Kugeln können wählen, und klicken Sie auf Start und die Kugeln Auto fällt durch den Schornstein. Derzeit Mein Programm in der Lage sein, einen Ball fallen zu lassen und läuft gut, aber ich weiß nicht, wie man das in der Lage Tropfen mehr als ein Ball sein zu implementieren. Irgendwelche Vorschläge oder Hilfe sind willkommen, Danke. Dies ist Main.Class

Hauptfeld-Klasse enthält die Schornsteine ​​und Bälle

Erstellen Sie eine neue logische Klasse, keine GUI-Klasse, für Ihren Ball, eine, die nicht eine JPanel oder jede Swing-Komponente erstreckt, sondern eine, die die Logik hinter der Kugel sowie vielleicht eine Rendering-Methode, die eine Grafik oder Graphics2D akzeptiert Objekt. Dann geben Sie Ihre Zeichnung JPanel Klasse eine Arraylist dieser Ball-Objekte, verschieben Sie sie in Ihrem Spiel Schleife - beachten Sie, dass ich einen Swing-Timer und keinen Hintergrund-Thread, lieber mit und dann in Ihrer JPanel die Methode paintcomponent iterieren durch die Arraylist von Kugeln, jede Kugel Zeichnung durch seine Rendering-Methode aufrufen.

Als Nebenwirkung: alle Klassennamen sollten mit einem Großbuchstaben beginnen, und alle Bezeichner andere als Konstanten sollten Kamel Fall verwenden, so dass Ihre Klasse Mainpanel Mainpanel genannt werden soll. Ich habe bearbeitet Code die Code-Formatierung prettify und hat diese Änderung für Sie gemacht.

Abgesehen Nummer 2: Ihr aktueller Code hat Code Logik innerhalb von paintcomponent. Tun Sie das nicht wie, das Chaos Ihnen. Sie haben nicht die volle Kontrolle darüber, wann oder sogar ob paintcomponent aufgerufen.

In Verbindung stehende Artikel