2017-09-30 1 views
0

자바에서 간단한 자동 점멸 장치 인 프로그램이 있습니다. 내가하고자하는 것은 프로그램의 무한 루프가 중단없이 실행되고 (예 : F9) 다른 키 (예 : F10)가 눌려지면 프로그램이 일시 중지되도록 키를 누르는 것입니다 (예 : F9). 한번 F9를 다시 누르면 프로그램이 다시 시작됩니다. 여기에 내가있어 코드입니다 :프로그램을 시작하고 일시 중지하는 토글 키

package SimpleCode; 
import java.awt.AWTException; 
import java.awt.Robot; 
import java.awt.event.MouseEvent; 

public class AutoClicker { 

public static void MainFunction(){ 
    while(true){ 
    leftClick(); 
    delay(6.5); 
    } 
} 

protected static void delay(double seconds){ 
    createMacro(); 
    macro.delay((int(seconds * 1000.0)); 
} 

protected static void leftClick(){ 
    createMacro(); 
    macro.mousePress(MouseEvent.BUTTON1_MASK); 
    macro.mouseRelease(MouseEvent.BUTTON1_MASK); 
} 

private static Robot macro = null; 

private static void createMacro(){ 
    try { 
    macro = new Robot(); 
    } catch (AWTException e) { 
    e.printStackTrace(); 
    } 
} 

public static void main(String args[]){ 
    MainFunction(); 
} 

} 

내가 루프를 중단 할 생각이, 나는 "동안 (사실이)"F10 번 잘못된 부분을 누르면 만들 수있는 방법을 찾아야하지만, 그건 모두 내가 할 수있는 이유. F9를 눌러 프로그램을 시작하는 방법을 모르겠습니다.

참고 : 위 프레임 워크의 주제에 대한 SimpleCode의 youtube 비디오 크레디트.

+0

오른쪽 도구처럼 뭔가를하고 싶은거야 : Java는 요구 사항이 UI 자동화를 위해, 여기 않는 한 나는 https://autohotkey.com/ ([AutoHotkey를] 추천) 이러한 작업은 낮은 노력과 [최소 코드] (https://autohotkey.com/board/topic/64576-the-definitive-autofire-thread/?p=407264)로 달성됩니다 (* The snippet to the scroll 비녀장*). – miroxlav

+0

오, 알 겠어, 분명히 살펴 보겠다. 자바는 여기 요구 사항이 아니었다. 단지 적당하다. – RealFL

답변

0

당신은 작업에 대한

private boolean running; 

private void onPressf9Action(){ 
running = true; 
} 

while(running) { 
//perform action 
} 

private void someOtherAction(){ 
running = false; 
} 
관련 문제