Avatar billede Godfather75 Nybegynder
04. november 2012 - 20:19 Der er 3 kommentarer og
1 løsning

Threads and Swing?

Jeg har set nogen der opdaterer deres GUI på den her måde:

public void display(String msg) {
        Runnable setText = new Runnable() {
            String msg;

            public Runnable setMsg(String msg) {
                this.msg = msg;
                return this;
            }

            @Override
            public void run() {
                if (msg != null) {
                    // append to textbox
                    textArea.append("\n" + msg);
                }
            }
        }.setMsg(msg);

       
        SwingUtilities.invokeLater(setText);

    }
Er der nogen herinde fra der kan beskrive koden linie for linie?
Avatar billede arne_v Ekspert
04. november 2012 - 23:59 #1
Det burde laves som:

public void display(final String msg) {
    EventQueue.invokeLater(new Runnable() {
            public void run() {
                    textArea.append("\n" + msg);
            }
    });
}
Avatar billede Godfather75 Nybegynder
07. november 2012 - 00:26 #2
Super mange tak!:-) send et svar
Avatar billede arne_v Ekspert
07. november 2012 - 01:42 #3
svar
Avatar billede arne_v Ekspert
07. november 2012 - 01:43 #4
EventQueue.invokeLater bruges for at kunne opdatere GUI fra andet end event traaden
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