Insetar un japplet dentro de un jframe

Tengo un applet de java, pero necesito que ese applet se un objeto más dentro de mi applet, por lo cual necesito insertar más objetos a mi panel...estoy empezando, no se si usar un contenedor o un jpanel...¿Qué hago?

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de JaimeItlzc

Container

Yo pienso que seria mejor que usaras un Container aqui te va el por que:

Es bastante habitual realizar una aplicación java de la primera forma que se nos ocurra. Si necesitamos una aplicación independiente hacemos que la clase principal de nuestra aplicación herede de JFrame o bien construimos nuestra interface directamente sobre JFrame. Si nuestra aplicación se va a ver en un navegador, hacemos lo mismo, pero heredando o construyendo sobre un JApplet.

También es bastante habitual que luego necesitemos cambiar de aplicación idependiente a Applet o viceversa. Incluso que queramos las dos versiones de nuestro programa.

Una buena solución es contruir toda nuestra aplicación sobre un JPanel, o mejor aún, poner un método al que se le pase un Container y se construya la interface gráfica sobre ese Container. Más o menos así

public class MiAplicacion(){
public void contruye (Container contenedor){
// Se contruye la interface de usuario
contenedor.add (componentes);
 }
}

De esta forma, luego podemos hacer una clase Applet con método main() así

public class Principal extends JApplet
{
// Método de inicialización del Applet
public void init ()
{
MiApliacion aplicacion = new MiAplicacion();
// Se contruye la aplicación sobre el Applet.
aplicacion.construye (this);
}

// Método de inicialización como aplicación independiente.
public void main (String [] args)
{
JFrame ventana = new JFrame();
MiApliacion aplicacion = new MiAplicacion();
// Se construye la aplicación sobre el JFrame
aplicacion.construye (ventana.getContentPane());
}
}

De esta forma tenemos todo mezclado en una sola clase. Si metemos Principal en una página html funcionará como un Applet. El navegador se encagará de llamar al método init(). Si lo ejecutamos desde una línea de comandos java Principal, se ejecutará el main() y funcionará como aplicación independiente.

Esto permite además conseguir los recursos de la aplicación (iconos, ficheros y demás) de distinta forma, ya que en un JApplet las imágenes se obtienen con el método applet.getImage(), mientras que un JFrame se puede leer directamente un fichero de imagen. Dejaríamos en la clase Principal la parte de carga de imágenes (recursos) y a MiAplicacion se los pasaríamos con métodos que tuviera adecuados para ello.