Java JOptionPane.showConfirmDialog 热键

标签 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);

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

谢谢,

安德斯

最佳答案

还有一种更简单的可能:你可以在程序中按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();

行为完全一样,如您所愿...

关于Java JOptionPane.showConfirmDialog 热键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4793266/

相关文章:

java - 重定向后 Servlet 名称仍在 Url 中(使用多页的 jQuery)

带线程的 Java 定时器

java - Java程序错误: "Move initializer to constructor"

java Swing : add custom graphical button to JTree item

c# - 在 Windows 7 框(64 位)上从 vb.net 创建快捷方式

java - Android 云到设备的 ClientLogin 中的服务名称是什么?

java - 在java中使用ZipOutputStream创建ODT文件时无法在OpenOffice中打开

java - 如何防止 Netbeans 中 MDI 子表单的多个实例

gtk - GTK 中一项操作的多个快捷方式

wpf - 如何在 WPF 中使用键盘快捷键?