Output:
Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problems:
The type MouseComponent must implement the inherited abstract method MouseMotionListener.mouseMoved(MouseEvent)
The type MouseComponent must implement the inherited abstract method MouseMotionListener.mouseDragged(MouseEvent)
Rectangel2D cannot be resolved to a type
Rectangel2D cannot be resolved to a type
Cannot instantiate the type MouseMotionListener This method must return a result of type Rectangle2D
The method add(Component) in the type Container is not applicable for the arguments (Point)
at MouseComponent.<init>(MouseComponent.java:14)
at MouseFrame.<init>(MouseFrame.java:10)
at MouseTest$1.run(MouseTest.java:14)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
You code does not compile because of the following reasons
The type MouseComponent must implement the inherited abstract method MouseMotionListener.mouseMoved(MouseEvent)
The type MouseComponent must implement the inherited abstract method MouseMotionListener.mouseDragged(MouseEvent)
Rectangel2D cannot be resolved to a type
Rectangel2D cannot be resolved to a type
Cannot instantiate the type MouseMotionListener This method must return a result of type Rectangle2D
The method add(Component) in the type Container is not applicable for the arguments (Point)
Use your IDE's quick hint or resolution techniques to fix the problem. Ctrl + 1 in eclipse. Click on the bulb on the sidebar in netbeans
If you are saying your object is a MouseMotionListener, then you are telling the compiler it has the 5 methods of that interface. Details here. So you have to implement 5 methods, even if some of them are empty, and you have to ensure that the method names are spelt correctly, same return type, etc. Remember they are all implicitly "public".