JOptionPane - проверить ввод пользователя и запретить закрытие, пока не будут выполнены условия

Пожалуйста, может кто-нибудь сказать мне, если есть удобный способ предотвратитьJOptionPane от закрытия при нажатии OK, если не выполнены условия для полей ввода пользователя?

Или у меня нет выбора, кроме как использовать?JFrame

Моя логика проверки до сих пор. Безразлично»Кажется, что это работает, потому что кнопки по какой-то причине нажимаются один раз ...

final JDialog dialog3 = new JDialog(OmniGUI.getFrame(), "Create new Node - id:" + newNodeID);
dialog3.setContentPane(theOPane);
dialog3.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);

theOPane.addPropertyChangeListener(new PropertyChangeListener(){
   public void propertyChange(PropertyChangeEvent e) {

       if(e.getSource() == theOPane){
           String val = (String) ((JOptionPane) e.getSource()).getValue();

           if(val=="Create"){
               System.out.println("Checking content");                      

               if(!valid){
                   System.out.println("closing the window");    

                   dialog3.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
                   dialog3.removeAll();
                   dialog3.dispatchEvent(new WindowEvent(dialog3, WindowEvent.WINDOW_CLOSING));
               }

           }
       }
   }    
});

    dialog3.setLocation(p);
    dialog3.pack();
    dialog3.setVisible(true);

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

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