我正在使用JOptionPane.showOptionDialog(...)
创建选项对话框;关闭由JOptionPane.showOptionDialog()创建的对话框
对于options参数,我传递一个JButton数组,每个数组都有它自己的ActionListener
。
其中一个按钮负责关闭对话框。我的问题是:我在关闭按钮的事件处理程序中放置什么代码来关闭选项对话框?
可能有所作为的一点:负责显示此对话框的类是单例,因此负责显示对话框的方法是static。因此,调用javax.swing.JInternalFrame.doDefaultCloseAction();
不会“从静态上下文”工作。
感谢
大概是我见过最脏的方式来关闭的JOptionPane,但由于因为你救了我的屁股 – smac89 2014-11-21 03:59:33
@ Smac89:是的,它是相当恶心。显然,如果你至少继承了JDialog并在子类中设置了ActionListener,至少可以避免对SwingUtilities.getWindowAncestor()的调用。 – Adamski 2014-11-24 14:23:58