RE:Agregar una foto en Netbeans
Para agregarlo a un JPanel o JFrame debes sobreescribir el metodo paintComponent en el cual pintas la imagen sobre el JPanel o el JFrame, y luego mandas a pintar todo lo demas simplemente llamando al metodo de la superclase
Yo personalmente cuando necesito colocar una imagen de fondo en una aplicacion uso el JLayeredPane y le coloco un borde de tipo MatteBorder y le pongo como icono la imagen que deseo de fondo, la desventaja es que se debe controlar cuando se cambia el tamaño de la ventana para redimensionar tambien la imagen, sin embargo en Netbeans me permite ver como queda la imagen en tiempo de diseño, lo cual en algunos casos es muy util, espero te sirva de ayuda Suerte...