Estoy creando un applet de Java a partir de un proyecto preexistente a gran escala (Vizster). Estoy usando NetBeans 6.7.1 con JDK 1.5 en Mac OS X.¿Cómo empaco un applet con múltiples bibliotecas .jar?
Estoy intentando ejecutar el applet desde su archivo .jar de salida única, pero cuando hago esto, dice "applet cargado" en la parte inferior de pantalla en Firefox, y no hay nada en la consola de Java, pero no aparece nada en la ventana del applet. He tenido errores diferentes en Firefox anteriores a esto, incluidos errores como "appletNotLoaded: ClassDefNotFoundError" y también errores de seguridad, pero nunca hay ningún resultado en mi consola java. Aquí está el archivo HTML del applet:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<applet codebase ="." code="zuve.ZuveApplet.class"
archive="ZuveApplet.jar"
height="1000" width="1000"/>
</body>
</html>
Dónde zuve.ZuveApplet.class es donde se encuentra mi método principal, y "ZuveApplet.jar" es el nombre del archivo jar de salida. Aquí es ZuveApplet.java, la principal clase de método:
package zuve;
import vizster.Vizster;
import vizster.VizsterLib;
import java.applet.Applet;
public class ZuveApplet extends Applet {
public static final String DEFAULT_START_UID = "186297";
@Override
public void init() {
new Vizster();
}
public static void main(String[] argv) {
VizsterLib.setLookAndFeel();
//String startUID = argv.length > 0 ? argv[0] : DEFAULT_START_UID;
String startUID = DEFAULT_START_UID;
String file = argv.length > 0 ? argv[0] : null;
new Vizster(startUID, file);
}
}
El applet se ejecuta perfectamente bien como un independiente (no incrustado en HTML), pero necesito para incrustarlo. El objeto "Vizster" es una extensión de un JFrame, por lo que creo que debería ser capaz de crear una instancia y agregarlo a un applet. ¿Podría ser mucho más complicado que esto?
Desafortunadamente, soy nuevo en Java y en los applets en general. He visto muchas publicaciones en foros sobre la estructura del árbol de fuentes como un problema, así que:
1) ¿Es un problema que estoy usando varios paquetes? Todos están en el directorio src de mi proyecto.
2) ¿Hay algo que deba colocar en el directorio de inicio de mi java? Sé que mucha gente tiene problemas con la metodología de clase, pero estoy usando un IDE moderno que pensé que se encargó de todo eso por mí.
3) al importar mi proyecto a un proyecto NetBeans Java Web Application, ¿debería agregar el applet al proyecto como .jar, o debería agregar todo el proyecto?
4) Originalmente, cuando creé este applet, solo tenía mis pocos archivos fuente y un grupo de bibliotecas .jar como dependencias, pero cuando inspeccioné el archivo .jar de salida, todo lo que vi fueron los archivos fuente compilados. No había rastro de los archivos de las bibliotecas. ¿Es así como debería ser? Noté que si movía la salida .jar de su carpeta contenedora, ya no podría ejecutarse de forma independiente. Pensé que se suponía que los .jar fueran autónomos, ¿no es así? ¿Hay algo que deba saber sobre la creación de un jar ejecutable?
5) en una nota al margen, ¿el tamaño del applet indicado en las etiquetas del applet en html tiene que coincidir exactamente con el tamaño del applet mismo?
Perdón por la enorme publicación, y por el problema increíblemente vago, estoy trabajando con un equipo en el que nadie sabe nada sobre applets o Java (realmente brillante de nosotros, lo sé). Cualquier tipo de ayuda o sugerencias generales realmente ayudaría.
¡Gracias!
¡Guau! Gracias por la respuesta rápida, fue muy informativo. – mag725