Home • ECDL • Algoritmi • Java • Basi di dati • Seconda prova • Eccetera • Cerca nel sito

Applet: Muovi cerchio

Precedente
SUPERIORE
Successiva

Raggio=45, Velocità=10 px/s

Codice Html

<APPLET CODE="MuoviCerchio.class" WIDTH="300" HEIGHT="100">
    <PARAM name=Raggio   value="45">
    <PARAM name=Velocita value="100">
</APPLET>

Raggio=30, Velocità=100 px/s

Codice Html

<APPLET CODE="MuoviCerchio.class" WIDTH="300" HEIGHT="100">
    <PARAM name=Raggio   value="30">
    <PARAM name=Velocita value="10">
</APPLET>

Codice Java

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.Timer;

public class MuoviCerchio extends Applet implements ActionListener
{
   final int xMin=0; 
   int       xMax,         // limiti sinistro e destro 
             xC,           // coordinate dell'angolo in alto
             yC;           // del cerchio
   int       raggio,
             diametro;
   int       ms;           // ogni quanti millisecondi si muove
   Timer     t;            // per regolare l'animazione
   boolean   versoDestra;  // da che parte va

   public void init()
   {
      try
      {
         raggio=Integer.parseInt(getParameter("Raggio")); 
      }
      catch(Exception e)
      {
         raggio=25;
      }
      try
      {
         ms=Integer.parseInt(getParameter("Velocita")); 
      }
      catch(Exception e)
      {
         ms=10;
      }
      diametro=2*raggio; 

      xC = 0;               // parte da destra
      versoDestra = true;   // verso destra

      t=new Timer(ms, this);
      t.start();

      setBackground(Color.black);
      setForeground(Color.gray);
   }

   public void paint(Graphics g)
   { 
      g.drawOval(xC, yC, diametro, diametro);
   }

   public void actionPerformed(ActionEvent e)
   {
      Dimension d = getSize();

      xMax=d.width-diametro;
      yC  =d.height/2-raggio;

      if(versoDestra)
      {
         if (xC > xMax)
         { 
            versoDestra=false;
            xC=xMax;
         }
         else
            xC++;
      }
      else
      {
         if (xC <= xMin)
         { 
            versoDestra=true;
            xC=xMin;
         }
         else
            xC--;
      }
      repaint();
   } 

}//class

Applet: Muovi cerchio - ApPuNtIdIuNiNfOrMaTiCo

Home • ECDL • Algoritmi • Java • Basi di dati • Seconda prova • Eccetera • Cerca nel sito

Precedente
SUPERIORE
Successiva