2013-02-12 1 views
0

Robot 클래스를 사용하여 메모장에 텍스트를 출력하는 프로그램을 만들었습니다.스레드에 KeyListener 추가

public class Main extends Thread implements KeyListener { 

    public Main() { 
    addKeyListener(this); 
    ... 
    } 

특정 키를 클릭하여 중지하고 싶습니다. 가능합니까? 구현하고 추가하려고했지만 컴파일 오류입니다.

내 수업은 스레드의 하위 클래스입니다. 주요 스레드를 확장

+1

"*는 내가 그것을 구현하고 추가하려고하지만 컴파일 오류입니다. *"=이 경우, 코드를 보여주는 것은 분명 도움이 될 것이다> ... – assylias

+0

공용 클래스 주요 스레드가에 .... 모든 KeyListener를 구현 확장 생성자 내가 시도 : addKeyListener (this) 컴파일 오류입니다 –

+1

질문을 편집하고 코드를 추가하십시오. – Saju

답변

0

공용 클래스는 모든 KeyListener를 구현 {

당신이 javadoc for the Thread class 보면, 당신이이 addKeyListener 방법, 따라서 컴파일 오류를 포함하지 않는 것을 볼 수 있습니다. java.awt.Robot를 사용하는 경우

주, 그러나, 당신은 KeyEvents을 발행보다는 청취에 대해 우려하고 있습니다 :

Robot robot = new Robot(); 
// Create a delay of 5 sec so that you can open notepad 
robot.delay(5000); 
robot.keyPress(...); 

편집 : 당신은 키 조합을 + F4ALT를 에뮬레이션 할 수 종료합니다.

robot.keyPress(KeyEvent.VK_ALT); 
robot.keyPress(KeyEvent.VK_F4); 
robot.keyRelease(KeyEvent.VK_ALT); 
robot.keyRelease(KeyEvent.VK_F4); 

키 릴리스 명령에 유의하십시오. 이는 이전 키 조합에서 키 상태를 해제하는 데 필요합니다.

+0

가능한 경우 귀하의 답변을 수락하겠습니다. 잠시 후 구현할 수있는 아이디어가 있습니까? 어떤 종류의 청취자를 설정 하시겠습니까? 키보드로 프로그램을 종료 할 방법을 찾고 있습니다. –

+0

ALT + F4를 보낼 수 있습니다. 업데이트보기 ... – Reimeus