/* * DeleteEdgeMenuItem.java * * Created on March 21, 2007, 2:47 PM; Updated May 29, 2007 * * Copyright March 21, 2007 Grotto Networking * */ package Samples.MouseMenu; import edu.uci.ics.jung.visualization.VisualizationViewer; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JMenuItem; /** * A class to implement the deletion of an edge from within a * PopupVertexEdgeMenuMousePlugin. * @author Dr. Greg M. Bernstein */ public class DeleteEdgeMenuItem<E> extends JMenuItem implements EdgeMenuListener<E> { private E edge; private VisualizationViewer visComp; /** Creates a new instance of DeleteEdgeMenuItem */ public DeleteEdgeMenuItem() { super("Delete Edge"); this.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { visComp.getPickedEdgeState().pick(edge, false); visComp.getGraphLayout().getGraph().removeEdge(edge); visComp.repaint(); } }); } /** * Implements the EdgeMenuListener interface to update the menu item with info * on the currently chosen edge. * @param edge * @param visComp */ public void setEdgeAndView(E edge, VisualizationViewer visComp) { this.edge = edge; this.visComp = visComp; this.setText("Delete Edge " + edge.toString()); } }