Animationen und Pfadinterpolation auf basis von Swing

evangelion2100

Neues Mitglied
Hallo an Alle!

Ich bin gerade dabei eine Bildbetrachtungsapplikation auf der Netbeans Plattform zu schreiben und es soll wenn möglich alles auf Swing basieren, so dass die Anwendung soweit wie möglich OS Plattform unabhängig ist.
Nun soll es möglich sein mit Hilfe von Maskierung/Clipping - durch Definition von gegebenen Pfaden - einzelne Panels der Bilder zu betrachten und per Userinteraktion (MouseClick, ButtonClick) zum nächsten Panel/(Maskierung/Pfad) animiert/interpoliert werden. Zu den einzelnen Panels soll "geslided" und entsprechend Hin/hinausgezoomt werden.
Die Pfade sollen nicht auf einfache Rechtecke beschränkt sein, können sehr komplex sein.

Ich hatte mit dem IPhone-SDK dahingehen experimentiert und es gibt sehr hilfreiche und einfache APIs.
Ich hatte diese Problemlösung mit Hilfe von Transformationen Hinbekommen, wobei die Interpolation/Animation der Pfade automatisch umgesetzt wurden.
Die Funktionsweise der Betrachtung der Bilder soll wie die Marvel-Comic-App auf dem IPhone sein, nur ebend mit Java für den Desktop umgesetzt werden.

Gibt es hierzu eine hilfreiche Api (Java2D?) bzw. Swing-Componente, die insbesondere das Problem der interpolation der Pfade unterstützt ?

Viele Grüße.

evangelion2100
 

Guybrush Threepwood

Top Contributor
Ich habe einiges mit Animationen etc. gemacht. Auf Swing ist das momentan eine ziemlich Quälerei, aber es gibt Hilfen. Neben dem bereits erwähnten Timingframework (es wird in https://aerith.dev.java.net/ benutzt; schau Dir mal die Beispiele an) wäre da noch JGoodies Animation zu nennen, sowie "Filthy Rich Clients". In JavaFX steckt eine Menge an sehr brauchbaren Sachen drin, aber es wird sicher noch ein bisschen dauern, bis diese als Java-API verfügbar sind.

Dynamische Effekte sehen wahnsinnig schick aus, aber sie fressen immens viel Arbeit und Systemleistung. Du solltest genau überlegen, wo sie sinnvoll eingesetzt werden können und sparsam damit umgehen.
 

Ähnliche Java Themen


Oben