05. november 2001 - 13:56Der 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)
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
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\"); } });
Synes godt om
Ny brugerNybegynder
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.