Uppgift4b är en direkt fortsättning på Uppgift4a. Du ska nu läsa in din animerade GIF i en JApplet och få; det att snurra som i:
Om animeringen ska fungera måste du använda en ImageIcon som kan skapas genom:
imIcon = new ImageIcon(URL imageURL,String s);
Variabeln imageURL ska innehålla en fullständig sökväg till den animation som ska spelas upp. För att slippa problemet med flimriga bildväxlingar så väljer vi genomgående Swing-komponenter. Animeringen ritas lämpligen ut i en komponentklass som ärver från JPanel.
När det nu handlar om Swing-komponenter så låter vi utritandet ske i en
void paintComponent(Graphics g)
där överskuggningen inleds med med ett:
super.paintComponent(g);
Efter detta anrop till den superklassen räcker det sedan med:
imIcon.paintIcon(this, g, x, y);
Detta förfarande fungerar inte med en java.awt.Image och se denna övning som ett exempel på att vissa saker blir enklare om man använder Swing-klasser. I denna inlupp är det lämpligt att genomgående använda Swing-komponenter även om man inom dagens Javaprogrammering ser många exempel på när dessa komponentgrupper blandas. En grundregel som kan vara värd att lägga på minnet är att det ofta går bra att placera Swing-komponenter i AWT-behållare, men att motsatsen ibland ger upphov till en del svårbegripliga fel.
För att kunna läsa in animationen som en URL behövs även ett:
import java.net.*;