Avatar billede winston-smith Nybegynder
05. november 2001 - 13:56 Der er 2 kommentarer og
1 løsning

Swing og threads

Jeg har lavet et program med nogle ret kompliceret Swing skærmbilleder, der kan tage lang tid om at initilisere.
Dem ville jeg gerne have lagt ind i en selvstændig tråd så de kan blive åbnet i baggrunden. Men jeg kan huske at have læst at Swing ikke kan køre i en seperat tråd. (Og hvis jeg prøver er resultatet også noget rod)

Er der en mulighed for dette?

Rune
Avatar billede disky Nybegynder
05. november 2001 - 13:58 #1
Ja du laver din egen tråd som så ordner det for dig.
Avatar billede lyhr007 Nybegynder
05. november 2001 - 14:27 #2
giv os lidt mere info, så kan det være vi kan hjælpe dig. evt. noget kode.
Avatar billede logical Nybegynder
07. november 2001 - 08:01 #3
Det at lave skærmbillederne i sig selv er ikke noget problem at gøre i baggrunden.
Det her kan du sagtens gøre i en separat tråd:
JFrame f = new JFrame(\"Hej verden\");
f.getContentPane().add(new JLabel(\"Davs verden\"));
f.setVisible(true);


Swing kører en separat tråd til alle opdateringer og alle events for at gøre det nemmest muligt at udvikle og anvende komponenterne. Hvis du laver skærmbilleder i baggrunden er swing ligeglad med det.

Derimod, hvis du opdaterer ting som skal vises grafisk, feks tilføjelse af komponenter på grænsefladen, rettelse af tekster på komponenter, resize af komponenter mv. så bør det gøres i swings opdateringstråd.
En måde at få lavet noget på swing tråden er via SwingUtilities klassen som kan invoke en runnable i swing tråden:
SwingUtilities.invokeLater(new Runnable() {
    public void run() {
      mylabel.setText(\"Jeg er god\");
    }
});

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