Es gibt eine Reihe von Möglichkeiten, dies zu tun. Die Grundvoraussetzung ist jedoch, eine Art von Object
zu haben, die Ihnen sagen kann, wann sie die Farbe ändern sollte, dann würde sie die entsprechende Aktion unternehmen und die Benutzeroberfläche entsprechend aktualisieren.
könnte Sie ...
Verwenden Sie eine einfache JPanel
als die Darstellung des Objekts und einfach es ist rufen setBackground
Farbe Methode, wenn Sie es wollen, Farbe ändern.
Dies setzt voraus, dass Sie ein LayoutManager
verwenden möchten, um das Panel zu positionieren. Während es sicherlich machbar ist, wird es
könnte Sie ...
Verwenden Sie ein JPanel
einige Gedanken in das Gesamtdesign erfordern und außer Kraft setzen, es ist paintComponent
Methode und malen es die Farbe zu ändern. Auf der einfachsten Ebene ist das Overkill, aber wenn Sie auch ein "Auto" oder ein Bild von "Auto" zeichnen möchten, wird dies ein wenig sinnvoller, besonders wenn Sie das Auto basierend auf der Richtung, in der es sich bewegt, drehen möchten
Siehe Painting in AWT and Swing, Performing Custom Painting und 2D Graphics für mehr Details
Flashing
ich nehme an, Sie meinen Sie das Objekt soll in irgendeiner Weise und „blink“ ein- und ausgeschaltet animiert werden.
Dies kann einfach durch die Verwendung eines Swing Timer
erreicht werden, mit dem der Status eines einfachen Flags geändert werden kann, das die Art und Weise ändert, in der die Komponente gerendert wird.
Siehe How to use Swing Timers für weitere Details
Das wichtige Konzept wegzunehmen daraus ein Objekt zu erstellen, die die Anforderungen in weg kapselt die für Sie ist leicht zu benutzen, so dass, wenn Sie ermöglichen beispielsweise blinken, alles, was Sie Rufen Sie die setFlashing(boolean)
Methode und das Objekt kümmert sich um den Rest
Würde jemand den Grund für den Downvote markieren? Wie beantwortet er die Fragen des OP nicht? Wie kann es verbessert werden? – MadProgrammer