Ich habe ein Java-Applet, das ich geschrieben habe, und habe es für eine ganze Weile ausgeführt. In dem Applet habe ich eine Reihe von JLabels, die HTML in ihrem Textinhalt verwenden (was erlaubt ist und seit Jahren funktioniert). Der Hauptgrund für die Verwendung von HTML ist, dass ich Zeilenumbrüche in JLabels zulasse.
Das Problem: Seit kurzem zeigen die JLabels, die HTML enthalten (einige nicht), ihren Text nicht mehr an. Ich denke, es könnte etwas mit dem jüngsten Java-Update zu tun haben (Java SE 6 Update 22, am 12. Oktober 2010). Ich bin mir nicht 100-prozentig sicher, aber die Probleme schienen etwa zu diesem Zeitpunkt zu beginnen. Vielleicht wurde ein Fehler eingeführt? oder eine Funktion entfernt?
Ich habe es mit einem JEditorPane versucht und schien die gleichen Probleme zu haben, wenn der Inhalt HTML war.
Auch etwas wichtig zu beachten ist, dass das erste Mal, wenn Sie das Applet laden (zum ersten Mal Ihre Java-Laufzeit startet) es funktioniert FINE, aber wenn Sie die Webseite aktualisieren, dann hat es die Probleme wie beschrieben.
Hat jemand ähnliche Probleme? hat jemand irgendwelche Erkenntnisse? oder mache ich nur etwas Dummes?
Ich habe ein sehr einfaches Test-Applet erstellt und kann die Probleme mit 100-prozentiger Regelmäßigkeit reproduzieren (wenn man bedenkt, dass das erste Mal, wenn die Runtime geladen wird, alles gut funktioniert, nur aufeinanderfolgende Aktualisierungen verursachen die Probleme):
[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.h
<html>
<title>A Test</title>
<body>
<applet code="HelloWorldApplet.class" width="320" height="120">
You need Java
</applet>
</body>
</html>
PS. Ich habe hauptsächlich mit Chrome getestet, aber ich habe es auch kurz im IE 8 versucht. Außerdem habe ich (natürlich) das neueste Java SE 6 Update 22 als Laufzeitumgebung installiert und habe das passende Update für mein JDK. Ich kompiliere das obige Test-Applet einfach mit: "javac HelloWorldApplet.java".