关闭JOptionPane.showOptionDialog()创建的对话框

时间:2010-04-28 13:54:12

标签: java swing

我正在使用JOptionPane.showOptionDialog(...);

创建选项对话框

对于options参数,我传递一个JButtons数组,每个JButtons都有自己的ActionListener

其中一个按钮负责关闭对话框。我的问题是:我将什么代码放在关闭按钮的事件处理程序中以关闭选项对话框?

可能有所不同的一点:负责显示此对话框的类是单例,因此,负责显示对话框的方法是 static 。因此,调用javax.swing.JInternalFrame.doDefaultCloseAction();“无法在静态上下文中”。

由于

2 个答案:

答案 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();