Themadag 4VWO 6 April 2001

Programma FollowMouse

De programmacode staat in FollowMouse.java.

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class FollowMouse extends Applet {

   Point mouse;
   int index;
   String[] output = {"4VWO themadag", "Joachim did it!", "Can you do it too?"};
   Color[] colors = {Color.black, Color.red, Color.blue};

   public void init() {
      mouse = new Point ();
      addMouseListener (new ButtonListener ()); 
      addMouseMotionListener (new MoveListener ());
   }

   class ButtonListener extends MouseAdapter {
      public void mousePressed (MouseEvent e) {
         index = (index + 1 ) % 3;
         repaint ();
      }
   }

   class MoveListener extends MouseMotionAdapter {
      public void mouseMoved (MouseEvent e) {
         mouse.setLocation (e.getPoint ());
         repaint ();
      }
   }

   public void paint (Graphics g) {
      g.setColor (colors[index]);
      if (index == 0) {
         g.fillOval (mouse.x, mouse.y, 20, 20);}
      else
      if (index == 1) {
         g.fillRect (mouse.x, mouse.y, 20, 40);}
      else {
         int[] polyX = {mouse.x, mouse.x + 10, mouse.x - 10},
               polyY = {mouse.y, mouse.y + 10, mouse.y + 10};
         g.fillPolygon (polyX, polyY, 3);
      }
      g.drawString (output[index], 50, 50);
   }
}

HTML-file FollowMouse.html

De HTML code met daarin de applet bevindt zich in FollowMouse.html.

<HTML>

<HEAD>
<TITLE> FollowMouse</TITLE>
</HEAD>

<BODY>
<APPLET CODE="FollowMouse.class" WIDTH=300 HEIGHT=300></APPLET>
</BODY>

</HTML>

Beknopte gebruiksaanwijzing JCreator

Het JCreator programma kun je downloaden van http://www.jcreator.com. Bij wijze van voorbeeld gaan we het applet FollowMouse andere kleuren geven.

  1. Dubbelklik op het icoontje FollowMouse in het open venster. JCreator wordt nu opgestart.
  2. Klik op Close van de `Tip of the Day'.
  3. Dubbelklik op de naam van het bestand FollowMouse.java in het projectvenster van JCreator. Dit bestand bevat de Java code van het FollowMouse applet. Op regel 24 staat:
       Color[] colors = {Color.black, Color.red, Color.blue};
    
    Verander dit in:
       Color[] colors = {Color.cyan, Color.magenta, Color.yellow};
    
  4. Druk op toets F7 om het applet executeerbaar te maken (te `compileren'). (Of gebruik commando Build: Compile Project).
    JCreator controleert nu of je geen fouten gemaakt hebt. Dit wordt medegedeeld in het venster onderaan in JCreator. Als je geen fouten hebt staat er alleen Process completed. JCreator heeft nu een Java class bestand gemaakt dat in elke Web pagina getoond kan worden.
  5. Druk op toets F5 om het applet uit te voeren. (Of gebruik commando Build: Execute Project).
    Dit commando start de Applet Viewer. Hiermee kun je gemakkelijk je applets testen. De eerste keer dat je de Applet Viewer start wordt er een Copyright Notice getoond. Deze moet je Accepteren om verder te kunnen. Als het goed is zie je nu dat het veranderde Java programma de gekozen kleuren gebruikt. Om de Applet Viewer af te sluiten kies je het commando Applet: Quit. Je komt dan vanzelf weer in JCreator.
  6. Je kunt nu als oefening andere veranderingen aanbrengen. Ze zijn gegeven in min of meer opklimmende moeilijkheid. Denk erom: als je je veranderingen wilt testen moet je eerst compileren (F7) en dan executeren (F5).
    1. Gebruik andere teksten.
    2. Geef de cirkel en de rechthoek andere maten. Maak die maten eventueel afhankelijk van de muispostie, bijvoorbeeld: de breedte 1/3 van de x-positie van de muis.
    3. Geef de driehoek andere hoekpunten, eventueel afhankelijk van de muispositie.
    4. Geef een of meer figuurtjes een andere positie. Bijvoorbeeld steeds 20 eenheden links van en boven de muispositie, of steeds halverwege de muispositie en de oorsprong (het hoekpunt linksboven), of steeds gespiegeld over de diagonaal van linksboven naar rechtsonder.
    5. Verander de driehoek in een veelhoek (polygon) met meer hoekpunten.
    6. Maak die veelhoek tot een vierde geval met een eigen tekst en kleur.
    7. Bekijk de effecten van de `methoden' MouseClicked () en MouseReleased () van de klasse MouseAdapter.
    8. Laat de applet netjes eindigen.

Meer Informatie