This is inspired by @Yoann answer, but its a better way of performing the job. If you just want to strict some of the mouse activity, you can do following:
ViewPanel viewPanel = graph.display().getDefaultView();
MouseManager manager = new DefaultMouseManager() {
@Override
public void mouseDragged(MouseEvent event) {
}
@Override
protected void mouseButtonPress(MouseEvent event) {
super.mouseButtonPress(event);
System.out.println("Press");
}
@Override
public void mouseClicked(MouseEvent event) {
super.mouseClicked(event);
System.out.println("Clicked");
}
@Override
public void mousePressed(MouseEvent event) {
super.mousePressed(event);
// if you need object of Node pressed, following code will help you, curElement is already defined at DefaultMouseManager.
curElement = view.findNodeOrSpriteAt(event.getX(), event.getY());
if (curElement != null) {
Node node = graph.getNode(curElement.getId());
if(node != null) {
System.out.println("Mouse pressed at node: " + node.getId());
}
}
}
};
viewPanel.setMouseManager(manager);
Here, I have disabled mouseDragged, and writing my own code after performing default mouseButtonPress, mouseClicked and mousePressed event. You can even create your own Class which extends DefaultMouseManaer and override the function you want and set that object to mouse manager, this will be more clear way of programming.