Avatar billede jarret Nybegynder
05. november 2005 - 15:16 Der er 7 kommentarer og
1 løsning

Animation i JFrame

for(int i = 0; i < biler.size(); i++ ){

      JLabel kbil = new JLabel("");
      kbil.setIcon( new ImageIcon("bil.jpg") );
     
      Bil bil = (Bil) biler.get(i);
      kbil.setBounds(bil.p.x, bil.p.y, 60,40);
      p.add(kbil);

      }
     
     
        repaint();

Hvordan fjerner vi tidligere tegnede biler når vi kalder ovenstående, vi har prøvet med removeAll -- virker ikke hjælp!!!!
Avatar billede mikkelbm Nybegynder
05. november 2005 - 15:39 #1
Fylder jeres kode meget? Ellers vil det hjælpe lidt, hvis vi kunne se hvordan gui'en er bygget op.
Avatar billede jarret Nybegynder
05. november 2005 - 15:46 #2
import javax.swing.*;
import java.util.ArrayList;
import java.util.Random;

public class View extends JFrame {

    Model model;


    ArrayList biler = new ArrayList();
   

    JPanel p;
    public View(Model model) {
        this.model = model;
        p = new JPanel();
        p.setLayout(null);



        add(p);
    }

    void draw(){
        //remove(bil);
      //Bil b = new Bil();
      for(int i = 0; i < biler.size(); i++ ){

      Bil bil = (Bil) biler.get(i);
      JLabel kbil = new JLabel("");
      String billede = "bil"+ bil.retning + ".jpg";
      kbil.setIcon( new ImageIcon(billede) );
      //System.out.println("TEST");

      kbil.setBounds(bil.p.x, bil.p.y, bil.d.b, bil.d.h);
      p.add(kbil);

      }

        //validate();
        repaint();
        doLayout();
    }

    void tjek(){

        if(model.et.h.tilstand == 1 )
        System.out.println("hallo");
    }

    void rykAlle(){
      for(int i = 0; i < biler.size(); i++ ){


          Bil b = (Bil) biler.get(i);
            b.ryk();

      }
    }

    void addCar(){
        //System.out.println("TEST");
        Random rng = new Random();
        biler.add(new Bil(rng.nextInt(10) + 1));
    }

}
Avatar billede mikkelbm Nybegynder
05. november 2005 - 16:07 #3
Hvad hvis I skipper add metoden i draw, og i stedet har den i addCar? På den måde vil der i hvert fald kun blive tilføjet én af hver bil...
Avatar billede jarret Nybegynder
05. november 2005 - 17:32 #4
vi har løst den med p.removeAll()...... eller tak for hjælpen

addCar kaldes af en streng i en anden klasse
Avatar billede mikkelbm Nybegynder
05. november 2005 - 17:52 #5
"vi har prøvet med removeAll -- virker ikke hjælp!!!!" :)
Avatar billede jarret Nybegynder
05. november 2005 - 23:25 #6
ja ok, vi havde prøvet me removeAll() på vores JFrame obejkt men det virkede ikke....
Avatar billede mikkelbm Nybegynder
06. november 2005 - 18:36 #7
Husk at få lukket spørgsmålet...
Avatar billede jarret Nybegynder
07. november 2005 - 15:26 #8
e
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester