Using a null layout manager is usually a mistake - layout managers are there for good reasons (different system font sizes on different machines, different screen resolutions, user-resizable windows...). This trick is to chose the simplest layout manager that does what you need. That usually means BorderLayout, FlowLayout, BoxLayout, or GridLayout. Remember a Panel can have a different layout manager from the frame that its in.
Here's a good place to start: http://download.oracle.com/javase/tu...ut/visual.html
That depends on which layout manager you use. GridBagLayout can give you absolute pixel-level positioning and sizing for everything (just like null manager), but still automatically handles changes in window size etc (unlike null manager). The choice is yours!