Avatar billede nielsbrinch Nybegynder
22. februar 2002 - 01:13 Der er 5 kommentarer og
1 løsning

setText på JLabel når jeg vil have det!

Jeg har en en label som jeg kalder statusBar ... jeg bruger naturligvis statusBar.setText(""); til at ændre teksten i den statusBar, og naturligvis virker det også - men ikke altid!

Hvis koden ser sådan ud:

statusBar.setText("Før metode");
metodeSomTagerTid();
statusBar.setText("Efter metode");

Så ser man kun "Efter metode" ... den ændrer altså kun på statusBar når den ikke har noget at lave.

Hvordan sørger jeg for at programmet giver sig tid til at ændre statusBar selvom den har andet at lave lige bagefter?
Avatar billede disky Nybegynder
22. februar 2002 - 07:13 #1
bruger tråde til at køre 'metodeSomTagerTid()'
Avatar billede nielsbrinch Nybegynder
22. februar 2002 - 13:05 #2
er det svært?
Avatar billede carstenknudsen Nybegynder
22. februar 2002 - 17:12 #3
final ... statusBar ..; // final er vigtig!
Thread t = new Thread() {
    public void run() {
          statusBar.setText("Før/Efter metode");
        }
};
t.start();
Avatar billede nielsbrinch Nybegynder
22. februar 2002 - 22:59 #4
Carsten, det var i virkeligheden et bedre svar end det disky kom med ... men hvad betyder prikkerne?
Avatar billede carstenknudsen Nybegynder
24. februar 2002 - 13:23 #5
For at du skal kunne referere til en JLabel
eller et andet objekt fra en tråd som
vist ovenfor skal den være erklæret som final:
final JLabel statusBar = new JLabel( "" );
Jeg skrev bare ikke det hele ud.
Avatar billede nielsbrinch Nybegynder
24. februar 2002 - 14:03 #6
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