java – 为JOptionPane对话框设置助记符和热键

是否可以将热键和助记符分配给JOptionPane对话框中的按钮?我希望能够在JOptionPane生成的消息对话框中使用选项Yes,No和Cancel,按Y键选择Yes按钮,按N键点击No按钮并转义以激活转义键.类似地,在带有Okay和Cancel按钮的对话框中,我希望能够使用enter和escape激活它们.

我已经尝试将JButton传递到JOptionPane的按钮对象数组中,并且已经设置了助记符.助记符工作和按钮在对话框中正确显示,但是,它们在激活时无法正常工作.最值得注意的是,他们没有处理对话框.

将热键和助记符添加到JOptionPane对话框的按钮的正确方法是什么?

最佳答案 您可以创建JOptionPane,然后遍历窗格的组件(子等),检查是否有任何组件是JButton的实例,如果是,请检查文本,并设置正确的助记符.

JOptionPane p = new JOptionPane();
Component[] c = p.getComponents();
点赞