Java JOptionPane.showConfirmDialog热键

And*_*dez 4 java swing shortcut joptionpane

我正在使用JOptionPane.showConfirmDialog在Java中显示一个确认对话框.该对话框向用户显示"是否确认".这称为如下:

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

问题是这是一个简单的确认,用户可以按y是和n否吗?目前用户必须点击按钮?

谢谢,

Andez

小智 6

还有一个更简单的可能性:您可以按下alt一个程序,然后以相同的方式释放它:

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

那时你打电话:

 pressAlt();
 int confirm = JOptionPane.showConfirmDialog(... bla bla bla ... 
                                                  ,JOptionPane.YES_NO_OPTION);
 releaseAlt();
Run Code Online (Sandbox Code Playgroud)

行为完全一样,正如你所希望的那样......