Исключение: добавление окна в контейнер. Как это решить?

у меня естьJDialog названный классPreferences, Этот класс создает конструктор, такой как:

class Preferences extends javax.swing.JDialog {
          Preferences(java.awt.Frame parent,modal)  {
                      super(parent,modal);
                      //......
          }
}

В моей программе я хочу, чтобы это диалоговое окно настроек открывалось, когда я нажимал кнопкуJFrame форма. После того, как я зарегистрировал слушателя действия на кнопке, я написал код внутри как:

Frame fr = new Frame();
Preferences p = new Preferences(fr,false);
fr.add(p);
fr.setVisible(true);

Когда я запускаю этот код, я получаю следующее исключение (когда я нажимаю кнопку):

Exception in thread "AWT-EventQueue-0" 
    java.lang.IllegalArgumentException: adding a window to a container

Что это значит и как я могу это решить?

Ответы на вопрос(3)

Ваш ответ на вопрос