Hey,
well, the main point of swing is to avoid instantiate your objects with parameters...
for example: (rather not do that unless this vars are imperative to the creation of the object)
MyFrame(Object o1, Object o2...)
for serialization purposes, you would rather use an empty constructor, and to set the external values form out side of the frame(in this case), this way you would never get things mixed up... and avoid much NullPointerException debugging, later on if you would use serialization.
if you want to design components, you should use NetBeans, very simple, very user friendly, allows you to align and locate you labels, as for the ImagePanel.. I had one but I converted it to a scaling image panel.. with scaled layers over it.
If you need, I'll post it here.
Hope this helps,
Adam.