/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Event efter 5 sekunder
Fra : Kasper Ovi


Dato : 29-05-02 07:19

Hej

Jeg skal bruge en måde hvorpå jeg kan skifte f.eks. en tekststreng ud hvert
5. sekund på automatisk vis.

Nogen der kan hjælpe her?

Mvh
Kasper



 
 
Dennis Thrysøe (29-05-2002)
Kommentar
Fra : Dennis Thrysøe


Dato : 29-05-02 07:45

Du kan starte en ny tråd der skriver det ud, venter 5 sekunder, skriver
ud igen, osv.

-dennis


Kasper Ovi wrote:
> Hej
>
> Jeg skal bruge en måde hvorpå jeg kan skifte f.eks. en tekststreng ud hvert
> 5. sekund på automatisk vis.
>
> Nogen der kan hjælpe her?
>
> Mvh
> Kasper
>
>


Jan Oksfeldt Jonasen (29-05-2002)
Kommentar
Fra : Jan Oksfeldt Jonasen


Dato : 29-05-02 19:57

Kasper Ovi <kovi@sol.dk> wrote:

> Hej
>
> Jeg skal bruge en måde hvorpå jeg kan skifte f.eks. en tekststreng ud hvert
> 5. sekund på automatisk vis.
>
> Nogen der kan hjælpe her?
>
Java har hele to indbyggede Timer klasser hhv. javax.swing.Timer og
java.util.Timer. Forskellen på dem, som fremgår af pakke navnene, er
deres typiske brugsmønster, swings til at opdatere UI elementer, så vidt
jeg husker bruger den swings egen (og eneste) event tråd. Utils timer
bruges til at få udført en Runnable på interval, hvor den store fordel
primært består i, at du netop ikke får oprettet en tråd(!), det hele
køre i timerens egen tråd. Jeg går ud fra, at du skal bruge det til
noget UI grej.

I dit tilfælde ville swing udgaven passe perfekt, da du uden de store
problemer kan lave en ActionListener, som kan opdatere din label. F.eks.

JLabel jl = new JLabel(); //Tilføj til noget

//param 1 er tid mellem event afsendelse i millisekunder
javax.swing.Timer t;
t = new javax.swing.Timer(5000, new LabelUpdater(jl));

//Lav evt. en bette inner classe til actions
private class LabelUpdater implements ActionListener
{
private JLabel toUpdate;
public LabelUpdater(JLabel toUpdate)
{
this.toUpdate = toUpdate;
}

public void actionPerformed(ActionEvent ae)
{
//Event er for os ligegyldig, vi ved allerede hvad
//der skal gøres...opdater label
toUpdate.setText("Den tekst du vil opdatere til");
}
}

Se mere om swing timer på
<http://java.sun.com/docs/books/tutorial/uiswing/misc/timer.html> og
utils timer på
<http://java.sun.com/j2se/1.4/docs/api/java/util/Timer.html>

--
Mvh/re Jan Jonasen
jonasen (at) it (dot) dk

If I wanted culture, I'd eat yogurt. Ikke kun Tuborg har noget i gære.

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste