Forumzone Community

Sistemi Operativi e applicazioni => Microsoft Windows e applicazioni => Programmazione => Discussione aperta da: puntanera il 02 Agosto 2007, 17:09:43

Titolo: vector
Inserito da: puntanera il 02 Agosto 2007, 17:09:43
ciao!
io devo cancellare dal mio applet dei punti col tasto destro,che ho creato io col sinistro e memerizzati in un vector. Adesso il problema sta nel fatto che devo cancellare tali punti non necessariamente centrandoli, cioe posso cliccarci vicino e devo cancellare il punto più vicino ripetto a dove o cliccato.
io ho provato e mi è venuta questa idea:
cliccando col destro creo, con un ciclo, dei cerchi che si incrementano di grandezza, poi scandisco il mio vector con un ciclo e mi confronto le coordinate, se tali coordinate sono nel cerchio che si incrementa, allora cancella il punto:

   if(e.getButton()==MouseEvent.BUTTON3) {
        w = e.getX();
       l = e.getY();
   Ellipse2D eli;
                   
for(double i=1; i<20; i++){
 ellisse2 = new Ellipse2D.Double(w-(i/2),l-(i/2),i,i);
for(int j=0; jeli = vector.get(j);      
  z = eli.getCenterX();
  q = eli.getCenterY();
                                if(ellisse2.contains(z,q)){            vector.remove(eli)
         numPunti--;                    break;   
                                 }
ecc.
questo mi cancella più punti, e io devo cancellare solo il più vicino ad ogni clik! che faccio? sto incasinato!
Titolo: vector
Inserito da: marcoff il 02 Agosto 2007, 17:19:39
Hey mi sa che qui si sta facendo un pò di casino, n discussioni per un argomento.... continua dall'altra parte questa la chiudiamo. ;)