Java JOptionPane.showConfirmDialog hot key
I am displaying a confirmation dialog in Java using JOptionPane.showConfirmDialog. The dialog shows a Yes No confirmation to the user. This is called as 开发者_如何学Cfollows:
int result = JOptionPane.showConfirmDialog(sessionObjects.getActiveComponent(),
"Are you sure you want to exit?", "My App", JOptionPane.YES_NO_OPTION);
The question is as this is a simple confirmation, can the user press y for yes and n for no? At present the user has to click on the buttons?
Thanks,
Andez
There is another simpler possibility: you can press alt in a program and then release it in a same way:
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);
}
}
then when you call:
pressAlt();
int confirm = JOptionPane.showConfirmDialog(... bla bla bla ...
,JOptionPane.YES_NO_OPTION);
releaseAlt();
the behavior is exactly the same, as you desired...
You already have "hotkeys" (mnemonics) for the buttons: Alt+Y for "Yes" and Alt+N for "No".
You can also hit Tab to toggle between them and Space to press.
No, but you can create your own JDialog that could do that.
Look at Stopping Automatic Dialog Closing
精彩评论