private void addNonPreferredNameButtonActionPerformed() { Names namesModel = (Names) this.getModel(); NonPreferredNames newNonPreferredName; DomainEditor dialogNonPreferredNames = null; try { dialogNonPreferredNames = DomainEditorFactory.getInstance() .createDomainEditorWithParent(NonPreferredNames.class, this.getParentEditor(), false); } catch (DomainEditorCreationException e) { new ErrorDialog(getParentEditor(), "Error creating editor for NonPreferredNames", e) .showDialog(); } dialogNonPreferredNames.setNewRecord(true); int returnStatus; Boolean done = false; while (!done) { newNonPreferredName = new NonPreferredNames(namesModel); newNonPreferredName.setNameType(namesModel.getNameType()); dialogNonPreferredNames.setModel(newNonPreferredName, null); returnStatus = dialogNonPreferredNames.showDialog(); if (returnStatus == JOptionPane.OK_OPTION) { namesModel.addNonPreferredName(newNonPreferredName); nonPreferredNamesTable.getEventList().add(newNonPreferredName); done = true; } else if (returnStatus == StandardEditor.OK_AND_ANOTHER_OPTION) { namesModel.addNonPreferredName(newNonPreferredName); nonPreferredNamesTable.getEventList().add(newNonPreferredName); } else { done = true; } } }