Ciao a tutti!
Dunque, io devo creare un'applet in bluej, e dovrei far muovere una pallina di 50 px di diametro da sinistra a destra e contrario in uno spazio di 250x50px, e mentre lo fa dovrebbe rimpicciolirsi ed ingrandirsi, e contemporaneamente cambiare colore, da giallo a rosso.
per ora sono riuscito a fare (un pò a calcoli, un pò a caso) una cosa del genere, dove una pallina che parte da destra si muove fino ad arrivare al lato sinistro, e passando dal colore nero al bianco.

codice:
import java.awt.*;
import javax.swing.*; 
import java.awt.event.*;
import java.awt.geom.*; 
import javax.swing.border.*;
import MGui.*;

public class Pallina extends MApplet {
    int i=0, n, k=0, g;// Dichiarazione Variabili i=0 e n e k
    Ellipse2D.Double e = new Ellipse2D.Double (200, 0, 50, 50);//Crea Nuovo Ellisse
    
    public void setup(){
     
    
    public void mpaint ( Graphics2D g2 ){
        GraphSet.antialiasingOn(g2);
        
        
        //Trasf Colore
        n = (int)Math.floor(255*(+i/200.0));
        GraphSet.setColor(g2,n, n, n);  // imposta nuovo colore
     
        
        //Movimento
        
        AffineTransform nuovaTrasf2 = AffineTransform.getTranslateInstance (-i++,0);
        g2.transform(nuovaTrasf2);
        i = (i+10);
        
        
                
        
        
        g2.fill(e);    
        pause(100);
        mrepaint();

            }
    
 }
Ora, si fa un pò schifo, la pallina si ferma finita la corsa, ed è sempre della stessa dimensione.
ho cercato di inserire comandi come getAffineTransform.getScaleInstance ma a quanto pare rimpicciolendosi l'oggetto scombina il movimento e mi va fuori dallo schermo.
ora sono veramente ad un punto morto.

qualcuno ha la minima idea di come potrei procedere??
vi premetto che esco da un corso di tre mesi di "informatica per il disegmo industriale", dove java è stato trattato veramente moooolto blandamente, e a differenza di tutti i compagni, non ho un'amico o parente programmatore!!!

vi prego aiutatemi!!! grazie in anticipo!