Tengo un applet de Java que he escrito y lo he estado ejecutando durante bastante tiempo. En el applet tengo un montón de JLabels que usan HTML en su contenido de texto (lo cual está permitido y ha estado funcionando durante años). La razón principal por la que uso HTML es para permitir saltos de línea en JLabels.HTML ya no funciona en JLabel (y otros componentes)
La edición: Recientemente, los JLabels que tienen HTML en ellos (algunos no) dejaron de mostrar su texto. Creo que podría tener algo que ver con la reciente actualización de Java (Java SE 6 Update 22, en 2010-Oct-12) no 100 por ciento segura, pero los problemas parecían comenzar en ese momento. Tal vez un error ha sido introducido? o característica eliminada?
Intenté con un JEditorPane y parecía tener los mismos problemas cuando el contenido era HTML.
También algo importante a tener en cuenta es que la primera vez que carga el applet (la primera vez que se inicia el tiempo de ejecución java) funciona bien, pero si actualiza la página web tiene los problemas descritos.
¿Alguien tiene problemas similares? Alguien tiene alguna idea? o solo estoy haciendo algo tonto?
me hizo una muy simple applet de prueba y puedo reproducir los problemas con el 100% de regularidad (recordando que la primera vez que se carga en tiempo de ejecución que va a funcionar, sólo refresca sucesivas finos hará que los temas):
[HelloWorldApplet .java]
import javax.swing.*;
public class HelloWorldApplet extends JApplet
{
public void init()
{
this.add(new JLabel("Hello Everybody (Text)"), java.awt.BorderLayout.NORTH);
this.add(new JLabel("<html><body>Hello Everybody (HTML)</body></html>"), java.awt.BorderLayout.SOUTH);
}
}
[HellowWorldApplet.html]
<html>
<title>A Test</title>
<body>
<applet code="HelloWorldApplet.class" width="320" height="120">
You need Java
</applet>
</body>
</html>
PS. He estado probando principalmente con Chrome, pero también lo intenté brevemente en IE 8. También (obviamente) tengo la última actualización de Java SE 6 22 instalada como mi tiempo de ejecución, y tengo la actualización correspondiente para mi JDK. Recopilo el applet de prueba anterior usando simplemente: "javac HelloWorldApplet.java"
que acabo de hacer otra prueba en la que generar un nuevo subproceso cuales bucles y actualiza las etiquetas cada segundo, mostrando un recuento int creciente. Cuando el int es par, actualizo la etiqueta con HTML y cuando int es impar, actualizo la etiqueta con Text (Sin HTML) ... como esperaba al actualizar con HTML, la etiqueta no muestra nada, y cuando se actualiza con solo Text, se muestra el texto correctamente Algo está mal con HTML. Parece difícil de creer que nadie más tenga estos problemas. – devlop
También llamar a .putClientProperty ("html.disable", Boolean.TRUE) en la etiqueta hará que se muestre el html (pero, por supuesto, se mostrará como texto, es decir, mostrará el html en lugar de interpretarlo, que no es lo que es deseado). Pero solo otra prueba de que JLabel está dibujando correctamente, simplemente no está interpretando el html. – devlop