Sounds like you still need to look into Java2D... along with JMF ( the
Java Media Framework... a must if you are going to work with video... ) and JAI ( the Java Advanced Imaging API ). I would use a JPanel with a null layout for the "page", since the user is going to be laying out the components on the page, you are going to need for location and bounds to be explicitly set. I would make the photos ImageIcons on JLabels, and do text on JTextAreas ( or JEditorPanes, depending on what you need... ). I haven't worked that much with video, but it also has some sort of component to put it on the page. All components have the methods getLocation() to get the Point of the upper left corner, getSize() to get the current Dimension size, and getBounds() which returns a combination of these as a Rectangle, so you can get infomation about where an object is and how large it is.
-Nate