[Java lista] swt automatikusan

Andras Suller suller.andras at gmail.com
2009. Nov. 19., Cs, 10:05:49 CET


Szia,

2009/11/18 Laja <laja at freemail.hu>:
>        input.addTraverseListener(new TraverseListener() {
>            public void keyTraversed(TraverseEvent event) {
>                if(event.character=='\r') {
>                    String kod = input.getText();
>                    feldolgozKod(kod); //kód feldolgozása
>                    input.setText(""); //töröljük
>                }
>            }
>        });

Kipróbálnád azt, hogy a fenti kódrészletet átírod az alábbira?

        input.addTraverseListener(new TraverseListener() {
            public void keyTraversed(TraverseEvent event) {
                if(event.character=='\r') {
                    final String kod = input.getText();
                    new Thread() {
                      public void run() {
                        feldolgozKod(kod); //kód feldolgozása
                      }
                    }.start();
                    input.setText(""); //töröljük
                }
            }
        });

Ha ez így jól működik, és a felület is rendesen frissül, akkor annak
is jól kéne működnie, ha egy külön szálból hívogatod meg a
feldolgozKod metódust (amit korábban írtam).
Ha viszont a felület ugyanúgy nem frissül, akkor a feldolgozKod
metódus kezeli rosszul a gui elemeket.

Üdv: András


További információk a(z) Javalist levelezőlistáról