我正在使用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
答案 0 :(得分: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);
}
}
然后当你打电话:
pressAlt();
int confirm = JOptionPane.showConfirmDialog(... bla bla bla ...
,JOptionPane.YES_NO_OPTION);
releaseAlt();
行为完全一样,正如你所希望的那样......
答案 1 :(得分:2)
您已经为按钮设置了“热键”(助记符): Alt + Y 表示“是”和 Alt + N 表示“否”。
您也可以点击 Tab 在它们之间切换,然后按 Space 。
答案 2 :(得分:2)
不,但你可以创建自己的JDialog来做到这一点。
答案 3 :(得分:0)