public void actionPerformed(ActionEvent e) { TreePath path = tree.getSelectionPath(); if(path!=null) { final ISwingTreeNode node = (ISwingTreeNode)path.getLastPathComponent(); if(node instanceof NFPropertyNode) { final NFPropertyNode pnode = (NFPropertyNode)node; pnode.removeProperty() .addResultListener(new SwingDefaultResultListener<Void>(ComponentTreePanel.this) { public void customResultAvailable(Void pass) { ((NFPropertyContainerNode)pnode.getParent()).removeChild(pnode); // JOptionPane.showMessageDialog(SGUI.getWindowParent(ComponentTreePanel.this), // "Deleted property: "+pnode.getPropertyMetaInfo().getName()); } }); } } } };