Normally a layout manager sets the size/location of a component (among other things). The DragLayout doesn't set the location. It respects that the component can be dragged around the panel, so it just sets the size of the component. So when you invoke revalidate(), the layout manager is called and the size of the component is set (if required) but the location is not changed.
Read the Swing tutorial on
Layout Managers for more information about how layout managers work.