[Java lista] swt automatikusan

Laja laja at freemail.hu
2009. Nov. 18., Sze, 18:43:15 CET


Hi!
> Nem tudom közben sikerült e megoldani a problémát,
Sajna nem, csak épp mással voltam elfoglalva...
(Egyébként a layout() -ot is próbáltam, de nem segített, sőt elcseszte a 
felületet... :)
> annyit tudnék segíteni, hogy elsőre kicsit furának tűnik ez a 
> felhasználói felület - pl miért kell egyetlen szöveg mezőt user 
> inputra, és outputra is felhasználni, ráadásul parancs kiadásra is, 
> ezzel a TESZT kóddal. Szerintem mindenkinek egyszerűbb lenne, ha lenne 
> egy beviteli mező, egy státusz mező, meg egy "Teszt" gomb :)
Kezdem azt hinni, hogy tényleg nem tudok érthetően írni ;)
Egyetlen beviteli mező van, és csak bevitelre van használva. Felhasználó 
ebbe ütögeti be a kódjait, amire történnek dolgok, és a GUI-n is 
megjelennek dolgok. Nincs is több beviteli mező, csak ez az egy.
Na most néha sok-sok kódot kell feldolgozni, és ilyenkor jó lenne ha nem 
kellene valakit odaültetni hogy egyesével bepötyögje őket, hanem 
ilyenkor egy szöveges állományból soronként beolvassa a kódokat, és 
egyébként minden ugyanúgy történik mintha kézzel ütötték volna be.
>  A másik, hogy a leírásodból nem tünik ki, hogy mikor hívsz a beviteli 
> mezőn "input.setText(ujKod)"-ot.
Alapvetően semikor. A beviteli mezőn van egy TraverseListener, ami 
figyeli hogy mit pötyögnek be, és ha ENTER-t talál, akkor a beviteli 
mező értékét feldolgozza:

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

> Tehát, indítasz egy szálat, majd abból hívsz egy display.asyncExec(new 
> Runnable() { public void run () { input.setText("ize"); } });  -t.
Kipróbáltam, de ez sem műkszik....
Valszeg nem keyTraversed-et kellene használni, csak nem tudom 
melyiket... (amiket próbáltam nem voltak jók).

Laja


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