Most of the comments are redundant and do not provide any help understanding what the code is doing.
For example:
private Point coord = new Point(); // An instance of Point
coord is obviously an instance of Point. What is it used for? Why have a default value of 0,0?
//Set node id
public void setId(int id)
The method's name says that.
//Checking if two nodes are reachable
public boolean isNodeReachable(Node node)
Again the method name says that.
BUT there are
no comments saying what makes a node is reachable or how the code is going to determine that.
This method has no comments to describe how it does its job:
public static boolean isWithinBounds(MouseEvent e, Point p)
And lots more than can be posted here.