2010-11-25 19 views
9

Tengo problemas para insertar mi applet en una página web. No creo que lo esté haciendo correctamente.Incrustar Java Applet en el archivo .html

* tengo mi archivo html en el mismo directorio que los archivos .class

Mi método principal está en la clase CardApp

Este es mi código html

<html> 
<head> 
<meta content="text/html; charset=ISO-8859-1" 
http-equiv="content-type"> 
<title>TestJCardBet.html</title> 
</head> 
<body> 
<applet codebase="" code="CardApp.class" height="400" width="500"></applet> 
</body> 
</html> 
+0

Por cierto, por favor utiliza Google antes de publicar este tipo de preguntas. –

+2

Utilicé google, así es como se me ocurrió este código. – Tony

+4

Usted dice * "Mi método principal está en la clase CardApp" * pero los applets no necesitan un método principal (al menos no un 'public static void main (String s [])'). Tener uno puede hacer que sea más fácil probar el applet como una aplicación independiente, pero el navegador no lo invocará. –

Respuesta

23

Haciendo applets trabajar en una amplia gama de navegadores es sorprendentemente difícil. Las etiquetas no se estandarizaron correctamente en los primeros días, por lo que Internet Explorer y Mozilla fueron por separado.

Sun desarrolló un JavaScript genérico para manejar todas las peculiaridades específicas del navegador, para que no tenga que preocuparse por la compatibilidad del navegador.

Agregar a su sección <head>:

<script src="//www.java.com/js/deployJava.js"></script> 

Y esto a <body> sección:

<script> 
    var attributes = {codebase: 'http://my.url/my/path/to/codebase', 
         code: 'my.main.Applet.class', 
         archive: 'my-archive.jar', 
         width: '800', 
         height: '600'}; 
    var parameters = {java_arguments: '-Xmx256m'}; // customize per your needs 
    var version = '1.5'; // JDK version 
    deployJava.runApplet(attributes, parameters, version); 
</script> 

Ver Java™ Rich Internet Applications Deployment Advice para una explicación detallada de la secuencia de comandos y todas las opciones posibles.

+0

es el código base del directorio donde tengo mis archivos .class? Tengo el archivo .html en el mismo directorio que los archivos .class. ¿Qué debería poner para la base de código? – Tony

+0

También es archivo un atributo requerido? No tengo un frasco ¿Debería construir uno? o podría funcionar sin eso? – Tony

+0

Además, los parámetros var de línea. ¿Lo dejo así? o ¿tengo que sustituir java_arguments por mis argumentos principales? En realidad, mi programa no requiere ningún argumento para ejecutarlo. – Tony

1

Estoy de acuerdo con que deployJava.js es el enfoque preferido hoy en día.

Luego siga varios viejos trucos de múltiples navegadores para la integridad histórica.

https://www.ailis.de/~k/archives/63-How-to-use-Java-applets-in-modern-browsers.html:

<object id="testapplet-object" 
     classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" 
     width="256" height="256" 
     codebase="http://java.sun.com/update/1.6.0/jinstall-6u30-windows-i586.cab#Version=1,6,0,0"> 
    <param name="archive" value="mytest.jar" /> 
    <param name="code" value="my.package.MyClass" /> 
    <param name="myParam" value="My Param Value" /> 
    <embed id="testapplet-embed" 
     type="application/x-java-applet;version=1.6" 
     width="256" height="256" 
     archive="mytest.jar" 
     code="my.package.MyClass" 
     pluginspage="http://java.com/download/" 
     myParam="My Param Value" /> 
    </embed> 
</object> 

http://joliclic.free.fr/html/object-tag/en/object-java.html (tiene multitud de variantes):

<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" 
     width="150" height="80"> 
    <param name="codebase" value="data" > 
    <param name="code" value="JitterText"> 
    <param name="BGCOLOR" value="000000"> 
    <param name="TEXTCOLOR" value="FF0000"> 
    <param name="TEXT" value="OJITesting!"> 
    <param name="SPEED" value="250"> 
    <param name="RANDOMCOLOR" value="1"> 

    <!--[if gte IE 7]> <!--> 
    <object classid="java:JitterText.class" 
      codebase="data" 
      type="application/x-java-applet" 
      width="150" height="80"> 
    <param name="code" value="JitterText"> 
    <!-- Safari browser needs the following param --> 
    <param name="JAVA_CODEBASE" value="data"> 
    <param name="BGCOLOR" value="000000"> 
    <param name="TEXTCOLOR" value="FF0000"> 
    <param name="TEXT" value="OJITesting!"> 
    <param name="SPEED" value="250"> 
    <param name="RANDOMCOLOR" value="1"> 
    alt : <a href="data/JitterText.class">JitterText.class</a> 
    </object> 
    <!--<![endif]--> 
    <!--[if lt IE 7]> 
    alt : <a href="data/JitterText.class">JitterText.class</a> 
    <![endif]--> 

</object> 
Cuestiones relacionadas