Estadísticas

Usuarios: 524
Noticias: 27
Enlaces: 12
Plataforma Eclipse
Bienvenido(a), Invitado(a)
Por favor Ingresa o Registrar.
Contraseña Perdida?
Re: Problema con sencillo applet en navegador web (1 viendo)
Ir al fondo Publicar respuesta Favorito: 0
Tema: Re: Problema con sencillo applet en navegador web
#228
krek (Usuario)
Publicaciones: 7
graphgraph
Usuario Desconectado Haga clic aquí para ver el perfil de este usuario
Problema con sencillo applet en navegador web 17-10-2008 13:23:15 Karma: 0  
BUENAS! en primer lugar comentarles que recientemente empece con esto del eclipse y ando muy perdido ( tambien con java xD)

siguiendo varios libros que estoy mirando intente crear un applet sencillito tipico de "hola mundo" y bien en el visor de applets de eclipse ( al compilarlo ) me funciona muy bien... pero quiero verlo embebido en una pagina web y ahi viene el problema....

os pongo mas detalles a continucaion pero me gustaria saber porque en el applet viewer me va bien y en el web browser no

El applet en java se llama PrimerApplet.java y su codigo es el siguiente:
Code:

  package SuplementoGUI; import java.awt.*;  //Abstract Window Toolkit import java.applet.*;   //applets public class PrimerApplet extends Applet {     public void paint (Graphics g){          g.drawString("El primer applet d e Andres"2020);     } } 



y en la pagina web introduzco el tag ( bien escrito es que no se como meter codigo html aqui) :

applet code="PrimerApplet.class" width="300" height="60"



y al ir al directorio bin del workspace del eclipse ( el que contiene los archivos compilados) y abrir la pagina web en local ( insisto no esta colgada ni nada ) se abre la pagina pero el applet no, y abriendo la consola de java recibo el siguiente error:
Code:

  java.lang.NoClassDefFoundErrorPrimerApplet (wrong nameusoClases/PrimerApplet) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:620) at java.security.SecureClassLoader.defineClass(SecureClassLoade r.java:124) at sun.applet.AppletClassLoader.findClass(AppletClassLoader.jav a:192) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.jav a:127) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java :632) at sun.applet.AppletPanel.createApplet(AppletPanel.java:786) at sun.plugin.AppletViewer.createApplet(AppletViewer.java:2108) at sun.applet.AppletPanel.runLoader(AppletPanel.java:715) at sun.applet.AppletPanel.run(AppletPanel.java:369) at java.lang.Thread.run(Thread.java:619)



PD: en eclipse en el codigo del applet me da un warning al declarar la clase PrimerApplet me dice algo asi como:

The serializable class PrimerApplet does not declare a static final
serialVersionUID field of type long

no se si tendra algo que ver... Saludos y gracias de antemano.

Tema editado por: krek, el: 17-10-2008 13:24:04

Tema editado por: krek, el: 18-10-2008 12:45:36
  El administrador ha desactivado el acceso a escritura pública.
#233
krek (Usuario)
Publicaciones: 7
graphgraph
Usuario Desconectado Haga clic aquí para ver el perfil de este usuario
Re: Problema con sencillo applet en navegador web 18-10-2008 11:32:39 Karma: 0  
Vamos a ver... que sigo investigando y no se yo si no tirare el eclipse y listo.... xDDD


Resulta que en esta pagina estoy probando los applets:

http://usuarios.lycos.es/krek10/Java/Applets/PruebaApplets.html

Supongo que si entrais vereis el primer applet(diagonal) y el segundo no...
La diferencia entre ambos radica en qeu el segundo esta en un paquete de Eclipse ( SuplementosGUI) y el primero esta hecho desde un editor de textos y compilado con un "javac AppletDiagonal.java"

No se que hará exactamente el compilador de java en eclipse pero al estar en un paquete no hay forma de referenciarlo... ni por arriba ni por abajo...


El applet que no se ve ( el 2º ) se llama PrimerApplet.class y esta en el directorio de la pagina que lo carga y tambien ( por probar) en una carpeta que nace de ese directorio y se llama como el paquete en el que esta creado en Eclipse (En este caso SuplementoGUI)


Asi que la evolucion de mis preguntas es la siguiente:

-> ¿Como referencio un applet hecho en eclipse dentro de un paquete??
-> He visto "surfing in the net" que creando un .jar puede qeu evite estos problemas.... pero como lo hago???? y donde pongo el .jar? en el Directorio de la pagina o donde???

-> ¿ Al final muy bonito el eclipse pero para que funcionen las cosas debo hacerlo con un editor de texto a pelo??



GRACIAS POR escucharme al menos.

Un saludos
/cry.

Tema editado por: krek, el: 18-10-2008 11:36:16
  El administrador ha desactivado el acceso a escritura pública.
#234
Cyberser (Moderador)
Moderador
Publicaciones: 13
graphgraph
Usuario Desconectado Haga clic aquí para ver el perfil de este usuario
Re: Problema con sencillo applet en navegador web 18-10-2008 16:39:09 Karma: 0  
lindo problema

Recuerdo haber tenido un problema similar al tuyo al comienzo de mis incursiones con los applet, pero no recuerdo bien que era. En cuanto tenga unos minutos lanzo unas pruebas y vemos si te puedo ser útil con este tema. pero quédate tranquilo... un IDE con navegador incluido que no ejecute web sería un poco torpe Posiblemente sea un tema con el ruteo del package. Para probar mientras tanto considera que el .jar toma como raíz el lugar donde esta almacenado y de ahí comienza la jerarquía de directorios/paquetes
tengo la esperanza que los "orgánico" pese a sus chasis blandos, sus piezas no intercambiables, sus bugs autodestructivos y sus problemas de comunicación, desarrollen en algún momento inteligencia propia
  El administrador ha desactivado el acceso a escritura pública.
#236
Lalo (Usuario)
Publicaciones: 24
graphgraph
Usuario Desconectado Haga clic aquí para ver el perfil de este usuario
Re: Problema con sencillo applet en navegador web 18-10-2008 18:39:53 Karma: 4  
Hola

Para que funcionen las cosas debes saber HTML jajaja, me ha traido recuerdos este post porque yo tambien tuve este problema cuando empezaba.

Bueno aqui como se soluciona todo, probado en eclipse 3.3.2, Java6Upadte7, Explorer 6.0.2900 y Firefox 3.0.3

1.-Crea un proyecto java y ponle cualquier nombre, ejemplo: "Applet00".
2.-Dentro del paquete por defect "src" creas un paquete llamado suplementosGUI, pero sin S en mayuscula, si recien empiezas no aprendas malas practicas, los nombres de paquetes deberian tambien empezar en minuscula.
3.-Dentro de ese paquete que empieza sin mayuscula pon tu clase tal como la escribiste llamada "Primer Applet", yo hize un copy-paste de tu mismo codigo y funciono, solo que hay que hacer un cambio aqui jajaja:
g.drawString("El primer applet de Andres y el ultimo si sigo DESESPERANDOME POR TONTERAS!!!", 20, 20);
4.-Pruebas tu applet desde eclipse y funcionara, ahora seleccionas la clase y le daz click derecho > export... > (Java Folder) > JAR file > bastara con seleccionar "Export generated class files and resources" y "Compress the contents of the JAR file", buscas un lugar donde guardar tu jar y le pones un nombre, ejemplo: "MiPrimerAppletJar.jar" > bastara con "Export class files with compile warnings" ya que tu clase tiene un warning de serializacion, pero un warning es una alerta, no un error > bastara con "Generate manifest file" que luego lo veremos dentro del jar y fijate en "Seal some package" seguramente no habra ninguno > FINISH.

Te saldra una ventana que dice que se exporto una clase que tenia un warning, pero eso ya lo sabiamos, click OK. Abre el jar con winrar y veras dos carpetas, la del manifiesto y la del paquete, dentro esta tu clase.

Ahora el html, que para este ejemplo estara en la misma carpeta lado a lado con el jar file:

<html>
<head></head>
<body>

<APPLET id="miApplet" archive="MiPrimerApplet.jar" width="200" heigth="50" code="suplementosGUI.PrimerApplet"/>

</body>
</html>

Tu error estuvo en la propiedad "code", no ruteaste bien, es asi: "paquete.clase" si tu clase esta dentro de varias paquetes, pues a poner todos hasta que llegues jajaja.

Esto lo probe en unos minutos y funciono. Sigue bien las instrucciones con calma, si algo no se entendio lo posteas y se explica mejor.

Saludos desde Peru

Lalo

PS: Alguien ha tenido algun problema con applets con el update 10, yo he tenido problemas con paquetes avanzados como encriptacion y smartcardio, supongo porque mis applets los hize con el jdk1.6.0_07, los problemas los he tenido con Firefox, Chrome, Opera y Safari bajo Windows XP SP2/SP3.
  El administrador ha desactivado el acceso a escritura pública.
#238
krek (Usuario)
Publicaciones: 7
graphgraph
Usuario Desconectado Haga clic aquí para ver el perfil de este usuario
Re: Problema con sencillo applet en navegador web 18-10-2008 19:15:38 Karma: 0  
Ok agradezco mucho tu post, voy a probar ahora mismo

ya edito este mensaje y te cuento jejej

Gracias de antemano has sido muy claro en las explicaciones

EDITO:

BIENN!! ya me funciona!! muchisimas gracias

http://usuarios.lycos.es/krek10/Java/Applets/PruebaApplets00.html

Ha costado lo suyo jajaj no veas como me he estado comiendo la cabeza con este tema dandole vueltas.

Me gustaria agradecerte de nuevo tu paciencia y tu buena explicacion y megustaria hacerte asi mismo unas pequeñas ( y rapidas) preguntas sobre el proceso:

1) ¿Cada vez que realice un applet nuevo e independiente a otras classes debo hacer un proyecto nuevo en Eclipse?

2)Eh tenido que añadir el cierre dela etiqueta applet (/applet) a tu codigo en la pagina web supongo que no lo pondrias bien porque el foro no lo admita. De no ser asi aclarame ese />. Gracias

3)En el libro que estoy siguiendo me viene el codigo para el primerapplet ( la llamada en el html):
Code:

 applet code="TuApplet.class" width=300 height="100 /applet


En esa llamada accede directamente al archivo .class en el tuyo en cambio en code no añades la extension .class .¿ES porque al estar empaquetado en un .jar solo tenemos que indicar el paqute.nombreapplet??



Gracias de nuevo, insisto en pedir perdon si quizas os estoy preguntando cosas obvias, pero lo mas facil para los expertos es lo mas dificil para los novatos. Siempre ha sido asi xDD

Un saludo y seguiré dandoos trabajo descuidar xD

Tema editado por: krek, el: 18-10-2008 20:07:32
  El administrador ha desactivado el acceso a escritura pública.
#239
Lalo (Usuario)
Publicaciones: 24
graphgraph
Usuario Desconectado Haga clic aquí para ver el perfil de este usuario
Re: Problema con sencillo applet en navegador web 20-10-2008 05:55:32 Karma: 4  
Hey que bien que haya funcionando, ya vi tu applet en el link. Aqui respondo a tus preguntas:

1.- Si el applet no depende de ninguna clase pues si, debes crear un nuevo proyecto eclipse para este applet aislado que no depende de otras clases de otro proyecto. Pero si vas a probar applets puedes ponerlos todos en el mismo proyecto.
Ejemplo: Tengo mi applet que descarga canciones de internet llamado Descarga.class, otro applet que maneja un login cualquiera llamado Login.class y un tercer applet que monitorea en linea como va el flujo de petroleo en una terminal marina Petroleo.class jajaja, los 3 hacen cosas muy distintas pero pueden ir en un mismo paquete o proyecto llamdo por ejemplo "Mis 3 applets", y cuando exportas le puedes poner un nombnre como "Mis3Applets.jar", el truco esta en las rutas para la propiedad code. Supongasmos q tienes 3 htmls distintos que llaman al mismo jar, seria algo asi el code
html1..... code = "Mis3Applets.Descarga"
html2..... code = "Mis3Applets.Login"
html3..... code = "Mis3Applets.Petroleo"

Resumen, no es necesario hacer un proyecto nuevo por cada applet, pero seria mas ordenado y util si tienes un applet que necesite mas clases auxiliares, recuerda que un applet no es otra cosa que un programa java que corre en un navegador.

2.-Casi todas los elementos cuando nacio el html tenian 2 etiquetas (tags), una de inicio y otra de final, muchas de ellas ahora ya no necesitan tener 2 como el <br>. La etiqueta applet formal con 2 tags es asi:
<APPLET></APPLET>
de forma abreviada, solo 1 tag es asi:
<APPLET/>
Ese "/>" es el cierre para elementos de 1 solo tag, lo principal aqui es que siempre cierres un elemento, ya sea usando 2 tags o 1. Guiate con esta simple regla, usa 1 tag en elementos que no anidan otros elementos y 2 tagas en elementos que si anidad mas elementos como <BODY></BODY>.

3.- Asi es, al estar trabajando con un archivo jar ya puedes acceder directamente usando: paquete.nombreapplet.

Los jars son importantes porque nos permiten ordenar varias classes para que trabajen juntas, pero tambien son importantes porque los applets al ser programas java pues pueden hacer muchas cosas con el PC del cliente como crear, actualizar y borrar archivos de su PC, entonces ¿Que pasa si alguen por molestar crea un applet que te borre archivos con tan solo entrar a su website?... para eso principalmente se crearon los jars, para seguridad. Uno puede firmar digitalmente un JAR y asi poder saber quien es, si viene de un lugar seguro y que puede hacer en tu PC.

Y bueno, eso es todo, cualquier consulta tratare de contestarla a la brevedad, que tengas un buen dia y de nada, cuando yo tambien recivo mucha ayuda en los foros, simplemente devuelvo el favor

Lalo
  El administrador ha desactivado el acceso a escritura pública.
#240
krek (Usuario)
Publicaciones: 7
graphgraph
Usuario Desconectado Haga clic aquí para ver el perfil de este usuario
Re: Problema con sencillo applet en navegador web 20-10-2008 12:33:51 Karma: 0  
Pues que decirte, que miles de gracias de nuevo por responder mis dudas.

Sigo investigando jajaja ya estoy por crear botones y administrar los eventos ( ActionEvent y demas xD).


De nuevo mil gracias y tu karma aumentara jajajajaja

byes
  El administrador ha desactivado el acceso a escritura pública.
Ir al inicio Publicar respuesta

Formulario Acceso






¿Recuperar clave?
¿Quiere registrarse? Regístrese aquí

Encuesta

¿Colaborarías con esta web?