[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