2011-01-25 4 views
4

JOptionPane.showConfirmDialog를 사용하여 Java로 확인 대화 상자를 표시하고 있습니다. 대화 상자에 사용자에게 예 아니요 확인 메시지가 표시됩니다.Java JOptionPane.showConfirmDialog 단축키

int result = JOptionPane.showConfirmDialog(sessionObjects.getActiveComponent(), 
       "Are you sure you want to exit?", "My App", JOptionPane.YES_NO_OPTION); 

문제는이 간단한 확인 그대로입니다 수있는 사용자를 누르 예에 대한 y를없이위한 N : 다음과 같이 호출된다? 현재 사용자는 버튼을 클릭해야합니까?

감사합니다,

Andez

답변

2
이미 "단축키"버튼에 대한 (니모닉)이

: "예"에 대한 + YAlt 키 및 없음 "에 대한 Alt 키 + N을 ".

는 또한 그들과 언론에 공간 사이를 전환 할 수 을 칠 수있다.

+0

감사합니다. 나는 지금 이걸로 살 수있을 것 같아. – Andez

2

아니요,하지만 그렇게 할 수있는 자신 만의 JDialog를 만들 수 있습니다.

+0

나는 내가해야 할 수도 있다고 생각했다. 나는 dogbane 제안으로 Alt + Y를 사용하는 것이 현재 충분하다고 생각합니다. – Andez

+0

@Andez, 예 뼈대 솔루션은 잘 작동해야하지만, y 또는 n을 사용해야하는 경우에는 대화 상자를 사용자 정의해야합니다. – jzd

6

또 다른 간단한 가능성이있다 : 당신이 프로그램에서 고도를 눌러 다음 같은 방법으로 그것을 해제 할 수 있습니다 : 전화 후

public static void pressAlt(){ 
    try { 
     Robot r = new Robot(); 
     r.keyPress(KeyEvent.VK_ALT); 
    } catch (AWTException ex) { 
     Logger.getLogger(ManualDetection.class.getName()).log(Level.SEVERE, null, ex); 
    } 
} 

public static void releaseAlt(){ 
    try { 
     Robot r = new Robot(); 
     r.keyRelease(KeyEvent.VK_ALT); 
    } catch (AWTException ex) { 
     Logger.getLogger(ManualDetection.class.getName()).log(Level.SEVERE, null, ex); 
    } 
} 

:

pressAlt(); 
int confirm = JOptionPane.showConfirmDialog(... bla bla bla ... 
                ,JOptionPane.YES_NO_OPTION); 
releaseAlt(); 

행동입니다 정확히 같은, 원하는대로 ...