It is quite simple, I guess

. Very simple algorithm which just calculates preferred column widths for the table and aligns components correspondingly.
One fact that inspired me to use custom layout was an example from jsdk - one that resides in the java_home/demo/jfc/Metalworks. There is a file MetalworksDocumentFrame.java which uses custom layout to accomplish the most typical task - align labels and text fields.
For a junior developer (as for any other developer), it is most important that GUI does not cause pain when you want to add a component to an existing panel.