[Java lista] swt automatikusan
Andras Suller
suller.andras at gmail.com
2009. Nov. 6., P, 14:08:20 CET
Szia,
2009/11/6 Laja <laja at freemail.hu>:
> private void runTeszt(boolean wait){
> display.asyncExec(new Runnable() {
> public void run() {
> try{
> BufferedReader reader=new BufferedReader(new FileReader("test.txt"));
> try{
> String line=null;
> while((line=reader.readLine())!=null){
> //input.setText(line); //ez nem működik :(
> feldolgozKod(line);
> try{
> Thread.sleep(3000);
> }catch(InterruptedException exc){}
> }finally{
> reader.close();
> }
> }catch(Exception exc){
> }
> }
> });
> }
>
>
> Talán most már érthetőbb. Mint látszik, külön szálban indítom, a GUI
> mégsem frissül...
Már rég használtam SWT-t, de szerintem a display.asyncExec pont azt
jelenti, hogy nem külön szálban fog futni a végrehajtás, hanem az SWT
szála fogja majd végrehajtani a Runnable objektum run metódusát.
Én new Thread().start()-ra gondoltam, amikor az új szálat írtam.
Próbáld meg esetleg így:
private void runTeszt(boolean wait){
new Thread() {
public void run() {
try{
BufferedReader reader=new
BufferedReader(new FileReader("test.txt"));
try{
String line=null;
while((line=reader.readLine())!=null){
//input.setText(line); //ez nem
működik :(
feldolgozKod(line);
try{
Thread.sleep(3000);
}catch(InterruptedException exc){}
}
}finally{
reader.close();
}
}catch(Exception exc){
}
}
}.start();
}
De ettől függetlenül tényleg jobb lenne, ha a problémát írnád körül :)
Üdv: András
További információk a(z) Javalist levelezőlistáról