Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    7

    Metodo repaint()

    Salve a tutti.

    Dovrei creare un programma in cui ogni secondo viene disegnato tramite il metodo paint(Graphics g) un punto su una determinata posizione dello schermo. Utilizzando il metodo repaint() i punti precedentemente disegnati vengono cancellati. Come si può fare per evitare che vengano cancellati i punti disegnati prima?

    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Devi salvarli in una List e ridisegnarli ad ogni repaint.

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    7
    Come faccio ad inserire dei punti disegnati con il metodo paint(Graphics g) in una lista e poi fare il repaint()?

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Q

    Ad esempio così:
    codice:
    Vector v = new Vector();   // Da qualche parte crei un Vector (nel costruttore, ad esempio)
    
    public void paint(Graphics g) {
    
       int posX, posY;   // Le coordinate del punto da disegnare
    
       // Ridisegno per prima tutti i punti precedenti (se ce ne sono)
       Point p = null;
       for(int j=0; j<v.size(); j++) {
          p = (Point) v.elementAt(i);
          posX = p.x;
          posY = p.y;
          ...   // qui avrai l'istruzione per disegnare il punto di coordinate (posX, posY)
       }
    
       ...   // Non so come calcoli il punto, ma alla fine avrai due coordinate (posX e posY)
       ...   // Qui disegnerai il tuo punto
    
       v.add( new Point(posX, posY) );   // Aggiungo il nuovo punto al Vector
    }
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    7
    Grazie per il tuo esempio LeleFT, sono riuscito a risolvere il problema.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.