|
| 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);
| |
|
|