Heim > Java > javaLernprogramm > Wie kann ich die Sternbewegung innerhalb eines JFrame mithilfe der Methode move() einschränken?

Wie kann ich die Sternbewegung innerhalb eines JFrame mithilfe der Methode move() einschränken?

Barbara Streisand
Freigeben: 2024-11-30 21:24:14
Original
351 Leute haben es durchsucht

How to Confine Star Movement Within a JFrame Using the move() Method?

Die move()-Methode in der Star-Klasse ist für das Verschieben des Sterns verantwortlich. Allerdings überprüft es nur die WIDTH- und HEIGHT-Konstanten, die für die Größe des JPanels definiert sind, auf dem der Stern gezeichnet wird. Das bedeutet, dass sich der Stern, wenn er sich außerhalb des JPanels bewegt, weiterhin in die gleiche Richtung bewegt und nicht innerhalb des JPanels verschoben wird.

Um dies zu beheben, muss die Methode move() auf aktualisiert werden Überprüfen Sie die Breite und Höhe des JFrame, in dem sich das JPanel befindet. Auf diese Weise wird der Stern innerhalb des JFrame verschoben, wenn er sich außerhalb des JPanels bewegt. Hier ist der aktualisierte Code für die move()-Methode:

public void move() {
    if (location.x < 0 || location.x > frame.getContentPane().getWidth() - 20) {
        xIncr = -xIncr;
    }
    if (location.y < 0 || location.y > frame.getContentPane().getHeight() - 20) {
        yIncr = -yIncr;
    }
    translate(xIncr, yIncr);
    location.setLocation(location.x + xIncr, location.y + yIncr);
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich die Sternbewegung innerhalb eines JFrame mithilfe der Methode move() einschränken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage