繁体   English   中英

Java JOptionPane.showConfirmDialog热键

[英]Java JOptionPane.showConfirmDialog hot key

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

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

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

谢谢,

Andez

还有一个更简单的可能性:您可以在程序中按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);
    }
}

那时你打电话:

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

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

您已经为按钮设置了“热键”(助记符): Alt + Y表示“是”, Alt + N表示“否”。

你也可以按Tab键在它们之间切换,按空格键。

不,但你可以创建自己的JDialog来做到这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM