我正在使用JOptionPane.showOptionDialog(...)
;
对于options参数,我传递一个JButtons数组,每个JButtons都有自己的ActionListener
。
其中一个按钮负责关闭对话框。我的问题是:我将什么代码放在关闭按钮的事件处理程序中以关闭选项对话框?
可能有所不同的一点:负责显示此对话框的类是单例,因此,负责显示对话框的方法是 static 。因此,调用javax.swing.JInternalFrame.doDefaultCloseAction();
“无法在静态上下文中”。
由于
答案 0 :(得分:14)
final JButton btn = new JButton("Close");
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
Window w = SwingUtilities.getWindowAncestor(btn);
if (w != null) {
w.setVisible(false);
}
}
});
答案 1 :(得分:5)
尝试
JOptionPane.getRootFrame().dispose();