public void actionPerformed(ActionEvent event) { if (event.getSource() == okButton) { this.setVisible(false); } else if (event.getSource() == rightArrow) { try { araucaria .getArgument() .addOwnersToSelected(araucaria, ownerSourceTableModel.getSelectedOwners()); ownerNodesTableModel.updateTable(araucaria.getArgument().getSelectedVertexOwners()); araucaria.undoStack.push(new EditAction(araucaria, "adding owners")); } catch (Exception ex) { return; } } else if (event.getSource() == leftArrow) { // Delete owners only from selected vertices araucaria.getArgument().deleteOwners(ownerNodesTableModel.getSelectedOwners(), true); ownerNodesTableModel.updateTable(araucaria.getArgument().getSelectedVertexOwners()); araucaria.undoStack.push(new EditAction(araucaria, "removing owners")); } else if (event.getSource() == addOwnerButton) { String newOwnerName = ownerText.getText(); if (newOwnerName.length() == 0) { return; } ownerSourceTableModel.addOwner(newOwnerName); ownerText.setText(""); ownerText.requestFocus(); } else if (event.getSource() == deleteSourceButton) { Vector selected = null; try { selected = ownerSourceTableModel.getSelectedOwners(); } catch (Exception ex) { return; } if (selected == null || selected.size() == 0) return; int action = JOptionPane.showConfirmDialog( this, "<html><center><font color=red face=helvetica><b>Delete selected owners?</b></font></center></html>", "Delete owners?", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE, null); if (action == 1) return; araucaria.getArgument().deleteOwners(selected); // Delete owners from ALL vertices araucaria.getArgument().deleteOwners(selected, false); ownerSourceTableModel.updateTable(araucaria.getArgument().getOwnerList()); ownerNodesTableModel.updateTable(araucaria.getArgument().getSelectedVertexOwners()); } }