Het daadwerkelijk afbeelden op het beeldscherm gebeurt hier met de method 'paint', in 200 stapjes, met de standaard Java-method: 'drawLine'. De initiatie van het model en het tekenen gebeurt met de method 'init'.
import java.awt.Graphics; public class Voorbeeld10 extends java.applet.Applet { int t, y, youd; double y2, y3; public void init() { y2 = 2.0; y3 = 50.0; } public void paint(Graphics g) { for ( t=0; t < 200 ; t = t+1) { y3 = - 0.08 * t + 120.0; y = (int) y3; g.drawLine(t, youd, t + 1, y); } } }
Hierboven zie je dus de java-source-code van 'voorbeeld10'; hieronder de HTML-code.
Wat je ziet is als het ware een 'dynamisch plaatje'. Min noemt dat volgens zijn classificatie systeem (1986) een 'dynamische graphic'. Er zit een 'loop' in de applet. Die loop tekent elke 'delta t' een lijntje van een aantal pixels lang. Zo ontstaat een wat wij noemen een 'groeiende grafiek'. Het onderliggende model is hier eenvoudig: een rechte lijn. De applet zelf is een voorbeeld van een eenvoudige dynamische graphic. Je kunt het aangeroepen object ook een 'model-driven dynamische graphic' noemen. (Zie elders.)
De method 'drawLine' bevindt zich in de java-library van JDK, genaamd: 'java.awt.Graphics'. G is het grafische object waarin (blijkbaar) getekend wordt. Het tekenen vind (blijkbaar) plaats binnen de loop en daarbij wordt steeds het volgende punt berekend (door een wiskundig model of algebraische formule).
Het gebroken 'real' getal moet nog worden ongezet tot een geheel 'integer' getal om pixels op het beeldscherm aan te kunnen sturen. Zo moet je dit programma lezen. Van achter naar voren.
<HTML> <BODY> <TITLE>Een applet in een HTML-file</TITLE> <P> Hier zie je een applet in een lopende tekst. Het is een stap voor stap getekende lijn. Het is een eenvoudige applet <APPLET CODE=Voorbeeld10.class WIDTH=300 HEIGHT=120> </APPLET> Je ziet het. De applet gedraagt zich als een plaatje. Etc.
Hier zie je een applet in een lopende tekst.
Het is een stap voor stap getekende lijn.
Het is een eenvoudige applet Je ziet het. De applet gedraagt zich als een plaatje. Met een bepaalde hoogte en een bepaalde breedte. Hij neemt de ruimte tussen de tekst in die de ontwerper heeft opgegeven.
Soms zie je naast het goede lijntje een tweede lijntje getekend worden en in sommige browsers is dat weer heviger dan in andere browser. Dat is een onvolmaaktheid in dit voorbeeld. Dit voorbeeld heeft dan ook niet de doelstelling van volmaaktheid, maar als doelstelling de kern van een model-driven applet en zijn context te tonen, incl. het principe van het werken met de twee 'templates' - de voorgeprogrammeerde files - van het javaTHESIS-systeem. (Zie elders.)
Wat je moet weten is: