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);