2013-06-13 7 views
1

내 인생에서 나는 이것에 대해 인터넷에서 어떤 도움도 찾을 수 없다. 내 목표는 교대가 개최되고 응용 프로그램에서 마우스를 클릭 할 때 발생하는 함수를 작성하는 것입니다. 지금 나는 교대에 초점을 맞추고있다. KeyEvents 새 KeyEvent 변수?

public void keyPressed(KeyEvent e) 
{ 

    if (e.isShiftDown()) 
    { 
     //Do Something 
    } 

} 

그런 다음 내 주요 수업 시간에 내가 일 거라고 생각 무엇인지 짐작하고 실패

나는이 클래스를 가지고있다. 이 오류와 함께

KeyEvent e = new KeyEvent; 
keyPressed(e); 

:

나는이 코드 매우 라인을 가지고 예를 보았다
KeyEvent cannot be resolved to a variable 

. 그래서 나는 붙어있다. Java에 대한 지식이 너무 제한되어 아이디어가 없습니다.

도움을 주시면 감사하겠습니다.

답변

3

정의 이벤트이므로 클릭에만 집중할 수 있습니다. Shift는 수정 자 키입니다. 당신이 당신 된 MouseEvent 나있을 때, me.isShiftDown()

http://docs.oracle.com/javase/6/docs/api/java/awt/event/InputEvent.html

그래서 내가 그 클릭을 등록 할 수 있습니다 예를 들어, 당신은 어떤 임의의 개체가 버튼을 가정 뭔가

public void mousePressed(MouseEvent me) { 
    if (me.isShiftDown()) { 
    // Do the function 
    } 
} 

처럼 그 것 같아요 수행

JButton button = new JButton("I'm a button!"); 
button.addMouseListener(new MouseListener() { 
    public void mousePressed(MouseEvent me) { 
    if (me.isShiftDown()) { 
     // Do the function 
    } 
    } 
}); 

이제 버튼을 클릭 할 때마다 프로그램에서 자동으로 Shift 키가 눌러져 있는지 확인합니다 , 그렇다면 귀하의 기능을 실행하십시오.

+0

좋습니다. 그렇다면 메인에서 어떻게 함수를 호출 할 수 있습니까? 또는 구체적으로 어떻게 "MouseEvent"유형을 정의 할 수 있습니까? –

+0

@KyleWright 이벤트 작성을 시도 할 때 프로그래밍 방식으로 클릭이나 키 누르기 등을 시도합니다. 클릭을 (귀하의 경우) 캡처하는 것이 훨씬 더 일반적입니다. 나는 당신이 후자의 행동을 원한다는 가정하에 대답을 업데이트 할 것이다. –

+0

친구에게 도움을 주셔서 감사합니다. –