[Java lista] swt automatikusan

Laja laja at freemail.hu
2009. Nov. 6., P, 13:01:51 CET


Hi!
> Nem igazán értem, hogy mi a problémád, de ha billentyű leütéseket
> szeretnél szimulálni, akkor azt a java.awt.Robot osztállyal meg tudod
> tenni.
>   
Az sajna nem műkszik. Próbáltam külön szálból indítva is... De csak a 
legelső kódot dolgozza fel a azt is csak a teszt végén...
> Ha meg csak az a gond, hogy feldolgozás közben nem frissül a felület,
> akkor a feldolgozást külön szálban indítsd el, hogy ne akadjon meg az
> swt.
>   
Hát ez sajna nem segít. Ugyanúgy nem frissül a GUI, hiába indítom külön 
szálban....
> Ha ezek egyike sem megoldás, akkor írd le részletesebben, hogy mi a gond.
>   
Hát valahogy így próbáltam:

public Akarmi(){
       eleje();

       createGUI();

       input.addTraverseListener(new TraverseListener() {
           public void keyTraversed(TraverseEvent event) {
               if(event.character=='\r') {
                       String kod = input.getText();
                       if(kod.equals("TESZT")){
                           runTeszt();
                       }else{
                           feldolgozKod(kod);
                       }
                   }
                   input.setText("");
               }
           }
       });
       input.forceFocus();

       //Fő ciklus
       while(!vegevan && !shell.isDisposed()) {
           if(!display.readAndDispatch()) {
               display.sleep();
           }
       }

        vege();
}

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...
Azt még nem írtam, hogy Linux alatt próbálkozom...



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