2013-06-07 2 views
0

저는 Java 초보자이며 조금 질문이 있습니다.
내가 가지고 2 개 클래스 :
첫 번째는, 중요한 코드는 자바 포뮬러입니다 :Java : while 큐를 반복하면서 변수를 외부에서 변경하십시오.

@Override 
public void keyPressed(KeyEvent event) { 
    int key = event.getKeyCode(); 
    if(key == 17) { 
     System.out.println("STRG"); 
     if(roboter.running == true) { 
      roboter.running = false; 
     } 
    } 
} 

두 번째 루프의입니다 주요 부분 클래스 (라는 로봇)입니다 :

public class Roboter { 
    public boolean running = false; 

    public void myFunction() { 
     for(...;...;...) { 
      for(...;...;...) { 
        if(!running) 
         break; 
// DO SOMETHING IMPORTANT 
      } 
     } 
    } 

글쎄,이 작동하지 않습니다. 내 for 루프 동안 실행의 가치를 바꿀 수 없기 때문에 나는 그것이라고 생각한다. 나는이 문제를 어떻게 풀어 낼지 전혀 모른다. 어쩌면 다른 해결책이 있을까요? 내 목표는 사용자가 키를 누르면 로봇 myFunction을 중지하는 것입니다. 당신이 나를 도울 수 있기를 바랍니다.

영어를 유감스럽게 생각합니다. 당신이 undestand하지 않으면 나는 질문을 다시 쓰려고 노력할 것입니다.

답변

1

키보드 입력을 처리하는 클래스는 별도의 스레드에서 실행해야합니다.

관련 문제