Закрытие диалога, созданного JOptionPane.showOptionDialog () - PullRequest
4 голосов
/ 28 апреля 2010

Я создаю диалог параметров, используя JOptionPane.showOptionDialog(...);

Для параметра параметров я передаю массив JButton, каждый со своим собственным ActionListener.

Одна из этих кнопокотвечает за закрытие диалога.У меня вопрос: какой код поместить в обработчик событий кнопки закрытия, чтобы закрыть диалоговое окно параметров?

Точка, которая может иметь значение: класс, отвечающий за показ этого диалогового окна, является одиночным, и, как таковой, метод, отвечающий за отображение диалогового окна, является статическим .Поэтому вызов javax.swing.JInternalFrame.doDefaultCloseAction(); не работает "из статического контекста".

Спасибо

Ответы [ 2 ]

14 голосов
/ 28 апреля 2010
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);
    }
  }
});
5 голосов
/ 06 августа 2011

Попробуйте

JOptionPane.getRootFrame().dispose();   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...