Movendo objetos e cronômetros

Eu tenho uma tela com digamos 500 de largura e 400 de altura e tenho um vetor com várias formas. digamos que o vetor tenha 2 formas diferentes, por exemplo. Eu quero que o objeto apareça aleatoriamente na parte inferior da tela, atinja uma certa subida e depois desça (semelhante ao ninja de caça, onde as frutas são minhas formas).

No meu principal (view), tenho um vetor de formas das quais instanciamos os timers, adiciono ao array e os coloco no fundo da tela usando a função translate. Meu cronômetro capta um ouvinte de ação que basicamente altera a conversão da forma para subir até a subida e depois para baixo, mas meu problema é que todas as formas começam ao mesmo tempo, independentemente.

Algo assim:

        Shape f = new Shape(new Area(new Ellipse2D.Double(0, 50, 50, 50)));   
        f.translate(0, 400);   
        f.timer = new Timer( 10 , taskPerformer);    
        f.timer.start();    
        vector.add(f);    


        Shape f2 = new Shape(new Area(new Rectangle2D.Double(0, 50, 50, 50)));    
        f2.translate(200, 400);    
        f2.timer = new Timer( 10 , taskPerformer);    
        f2.timer.setInitialDelay(5000);    
        f2.timer.start();    
        vector.add(f2);

e meu ouvinte de ação:

        Random generator = new Random();            
        ActionListener taskPerformer = new ActionListener() {
                public void actionPerformed(ActionEvent evt) {
                   //...Perform a task...
             for (Shape s : model.getShapes()) {
                // Scale object using translate
                // once reached ascent drop down
                // translate to diffrenet part of the bottom of the screen
                // delay its timer
                }    
                update();
                //basically repaints      
            }

    };

Estou com problemas que todas as formas seguem o mesmo cronômetro e começam a aparecer ao mesmo tempo (sem demora) ...

Alguma sugestão sobre como evitar isso ou se houver uma abordagem diferente, devo tentar

questionAnswers(1)

yourAnswerToTheQuestion