私は書いたjavaアプレットを持っていて、かなり長い間それを実行しています。アプレットでは、テキストコンテンツにHTMLを使用するJLabelがたくさんあります(これは許可されており、何年も働いています)。 HTMLを使用する主な理由は、JLabelで改行を許可することです。JLabel(およびその他のコンポーネント)でHTMLが動作しなくなった
問題:かなり最近、HTMLを含むJLabels(一部ではない)がテキストの表示を停止しました。私はそれが100%確実ではない最近のJavaアップデート(Java SE 6 Update 22、2010年10月12日)と何か関係があるかもしれないと思っていますが、その問題はその周りから始まったようです。バグが導入された可能性はありますか?または機能が削除されましたか?
JEditorPaneで試したところ、コンテンツがHTMLの場合と同じ問題があるようでした。
また、最初にアプレットを読み込んだとき(初めてJavaランタイムが起動したとき)はFINEになっていますが、Webページを最新表示すると、説明されている問題が発生します。
誰も同じような問題がありますか?誰にも洞察はありますか?または私はちょうど何かばかなことをしていますか?
私は非常に簡単なテストアプレットを作って、私は100%の規則性(それは罰金だけに順次リフレッシュが問題の原因となります動作します初めて実行時の負荷ことを思い出す)の問題を再現できます
[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。私は主にChromeを使用してテストしてきましたが、私はIE 8でも巧みに試しました。 また、私は(明らかに)最新のJava SE 6アップデート22を自分の実行時としてインストールし、私のJDKに対応するアップデートを持っています。上記のテストアプレットを単純に "javac HelloWorldApplet.java"
私はちょうど私がその新しいスレッドを生成別のテストをしました毎秒ラベルをループして更新し、増加するintカウントを示します。 intが偶数の場合でも、HTMLでラベルを更新し、intが奇数の場合、Text(No HTML)でラベルを更新します... HTMLで更新されたときには何も表示されません。テキストが正しく表示されます。 HTMLに何か問題があります。他に誰もこのような問題を抱えているとは思わないでしょうか? – devlop
ラベルの.putClientProperty( "html.disable"、Boolean.TRUE)を呼び出すと、htmlが表示されます(もちろん、テキストとして表示されます。つまり、html自体を解釈するのではなく表示します。が望ましい)。しかし、JLabelが正しく描画しているというもう一つの証拠は、htmlを解釈していないだけです。 – devlop