as for the Layout manager I am not specifying any so does it adopt one automatically anyway?
Your component is added to the content pane (which is just a JPanel) of the frame. The default LayoutManager for the content pane is a BorderLayout. So the size of you component is set to be whatever space is available in the frame (minus the space used for the borders and titlebar). That is the only reason your component displays.
Yes as expected when I set the layout to null it no longer paints my custom control.
I already explained what you need to do in my first reply in order to get a component to display when using a null layout.
The component still goes back to 100,100,100,100 which is where it was originally created
No, the component is displayed at location (0, 0). Your custom painting takes places at (100, 100). This is NOT the way to create a custom component. Your painting should be done at (0, 0) with a size of (100, 100). Now when you drag the component around the screen you just change the location of the component, but you need to use a null layout otherwise the layout manager will keep resetting the location to (0, 0).
Read the Swing tutorial on
Custom Painting for an explanation and example of how to create a custom component.
You should also be overriding the getPreferredSize() method to specify the size of your component.