Когда я использую метод wait()
в следующем коде, он выдает следующее исключение
Exception in thread "AWT-EventQueue-0" java.lang.IllegalMonitorStateException
Код выглядит следующим образом:
private void newMenuItemActionPerformed(java.awt.event.ActionEvent evt) {
newFileChooser = new JFileChooser();
int returnVal = newFileChooser.showSaveDialog(null);
if (returnVal == JFileChooser.APPROVE_OPTION) {
filename = newFileChooser.getSelectedFile();
JFrame mainFrame = NetSimApp.getApplication().getMainFrame();
networktype = new NetType(mainFrame);
networktype.setLocationRelativeTo(mainFrame);
NetSimApp.getApplication().show(networktype);
try {
this.wait();
} catch (InterruptedException ex) {
Logger.getLogger(NetSimView.class.getName()).log(Level.SEVERE, null, ex);
}
if (!NetType.validip) {
statusTextArea.append("File not created:Select Network Type.\n");
}
newNodeMenuItem.setEnabled(true);
} else {
newNodeMenuItem.setEnabled(false);
statusTextArea.append("File not created:Access cancelled by user.\n");
}
}
На самом деле я вызываю объект класса jDialog, и я хочу, чтобы объект диалогового окна сначала завершился, а затем уведомил приведенный выше код. Я уже указал notify () в этом классе. Может кто-нибудь сказать мне, в чем проблема и ее решение. -Спасибо заранее