Avatar billede kingguro.dk Nybegynder
20. januar 2004 - 17:27 Der er 4 kommentarer og
1 løsning

Thread skal køre i baggrunden?

Jeg er ved at lave et Tetris spil i java. Der skal jeg have en tråd til at stå og klade en metode der hedder i tetris.dropDown() f.eks. hvert halve sekund?
Hvordan gør jeg det?
Avatar billede arne_v Ekspert
20. januar 2004 - 17:32 #1
Der er flere muligheder.

En var at starte en tråd ved at lave en klasse som extender Thread, instantierer
en instans af den og kalder start (jeg har faktisk skrevet en artikel om det !).

Men da jeg formoder at det er en GUI appilikation, så tror jeg at du skal kigge
på javax.swing.Timer klassen.
Avatar billede arne_v Ekspert
20. januar 2004 - 17:42 #2
En timer er noget kode der køres med et bestemt tids interval.

Noget a la:

  ActionListener taskPerformer = new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
          tetris.dropDown();
      }
  };
  new Timer(500, taskPerformer).start();
Avatar billede kingguro.dk Nybegynder
20. januar 2004 - 18:01 #3
Tak det fungere fint. Men hvad skal man gøre hvis man i forløbet vil ændret tiden fra 500 milisekunder til f.eks. 200?
Avatar billede arne_v Ekspert
20. januar 2004 - 18:07 #4
ActionListener taskPerformer = new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
          tetris.dropDown();
      }
  };
  Timer t = new Timer(500, taskPerformer);
  t.start();
...
  t.setDelay(200);
Avatar billede arne_v Ekspert
20. januar 2004 - 18:08 #5
og et svar
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