2014-04-18 3 views
0

Java에서 동작 버튼을 눌렀을 때 실행되는 메소드가 있나요? 키패드에서 '5'버튼을 눌렀을 때 나 버튼을 눌렀을 때 KeyListener를 만들고 싶습니다. GUI 설명 '5'; 익명 내부 클래스 또는 인터페이스를 선호 여부,KeyListener java, 버튼의 동작을 실행합니다.

public void keyPressed(KeyEvent e){ 
    if (e.getKeyCode() == VK_NUMPAD1) { 
     // do what would happen if I pressed the mouse on the button 
     // I do not know how to execute it thought that it was pressing down the 
     // button with the label '1 ' 
    } 
} 
+0

당신이 묻는 것이 불분명합니다. 당신은 무엇을 시도 했습니까? – lakshman

+1

네, KeyListener라고합니다. 문제는 아마도이 수신기를 바인딩 할 구성 요소 (활성 상태 일 때) 또는 키패드에 사용하는 키 코드 일 것입니다. 몇 가지 코드를 보여주십시오. –

답변

0

체크 아웃 http://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyListener.html 또는 http://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyAdapter.html

public void actionPerformed(ActionEvent event){ 
    if(button.getLabel().equals("1")){ 
    // do something 
    } 
} 

및 모든 KeyListener :

편집은 내가 함께 ActionListener를 얻었다.

예 :

panel.add(new KeyListener() { 
    @Override 
    public void keyPressed(KeyEvent e) { 
     if (e.getKeyCode() == VK_NUMPAD5) { 
      // do whatever you want here 
      System.out.println("Numpad 5 pressed); 
     } 
    } 
    @Override 
    public void keyReleased(KeyEvent e) {} 
    @Override 
    public void keyTyped(KeyEvent e) {} 
}); 

또는

panel.add(new KeyAdapter() { 
    // override the method you want 
    // do what you want here 
}); 
0

아래의 예는, 당신이 경우 문장 안에 넣어 모두 괜찮이다

if (e.getKeyCode() == VK_NUMPAD5) { 
    nameOfButtonToClick.doClick(); 
} 

는 분명히 그들이해야 어쨌든 버튼이 필드 값으로 선언 된 이후로 동일한 범위 내에서 사용해야합니까?

관련 문제