/ 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
Problemer med opdatering af JList
Fra : jens


Dato : 16-01-04 13:33

Hej!

Jeg har et problem med opdateringen af en JList.
Hvis jeg har en jbutton, hvor jeg opdatere indholdet af jlisten:

String[] data = {"en", "to", "tre", "fire"};
jlisten.setListData(data);

virker det perfekt, men hvis ovenstående bliver trigget (i mit tilfælde
af en thread) opdatere den ikke listen, men hele skærmen bliver hvid!?

hvorfor nu det?

- Jens

 
 
Thomas Bendsen (17-01-2004)
Kommentar
Fra : Thomas Bendsen


Dato : 17-01-04 10:13

In article <pan.2004.01.16.12.33.01.445767@news.dk>, jens <ask@news.dk>
wrote:

> Hej!
>
> Jeg har et problem med opdateringen af en JList.
> Hvis jeg har en jbutton, hvor jeg opdatere indholdet af jlisten:
>
> String[] data = {"en", "to", "tre", "fire"};
> jlisten.setListData(data);
>
> virker det perfekt, men hvis ovenstående bliver trigget (i mit tilfælde
> af en thread) opdatere den ikke listen, men hele skærmen bliver hvid!?
>
> hvorfor nu det?
>
> - Jens

Kan det have noget at gøre med at GUI'en kun må opdateres fra
Event-dispatch tråden? Hvis du ikke allerede gør det så prøv at gøre
følgende i stedet:

Runnable doRun = new Runnable() {
public void run() {
String[] data = {"en", "to", "tre", "fire"};
jlisten.setListData(data);
}
}
//Dette sikrer at ovenstående kode bliver eksekveret i event-dispatch
//tråden
SwingUtilities.invokeLater(doRun);

Jens (22-01-2004)
Kommentar
Fra : Jens


Dato : 22-01-04 10:37

Hej Thomas!

Undskyld det sene svar, men der kom lige en skiferie i vejen :)
Den tråd der skal opdatere min JList har jeg desværre ingen indflydelse
på, den kalder "bare" mit stykke kode, jeg tænkte på om det er muligt
at repainte hele jlisten på en eller anden måde?

Mvh

Jens



Den Sat, 17 Jan 2004 10:13:19 +0100. skrev Thomas Bendsen:

> Kan det have noget at gøre med at GUI'en kun må opdateres fra
> Event-dispatch tråden? Hvis du ikke allerede gør det så prøv at gøre
> følgende i stedet:
>
> Runnable doRun = new Runnable() {
> public void run() {
> String[] data = {"en", "to", "tre", "fire"};
> jlisten.setListData(data);
> }
> }
> //Dette sikrer at ovenstående kode bliver eksekveret i event-dispatch
> //tråden
> SwingUtilities.invokeLater(doRun);


Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408183
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste