問題タブ [htmleditorkit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - HTMLEditorKit を使用した動的 JTextPane の解析が遅い
HTMLEditorKit で JTextPane を使用していて、ペインにコンテンツを動的に追加しているという次の問題があります。コンテンツは数行にわたる場合があり、多数の画像 (小さなアイコン) も含まれます。問題は、たとえばアイコン付きのテキストを次の方法で挿入した場合です。
その結果、html コードの画像が画面に表示されるまでに長い時間がかかります (~1 秒):
質問: ペインに表示されている画像が HTML コードの場合、次の方法でバッファリングする方法はありますか?
HTMLEditor のため、pane.insertIcon を使用できません。ある種のコンテナを非表示に設定し、コンテンツをペインに追加し、その後コンテナを表示に設定することはありますか?
java - JScrollBar + HTML を含む JTextPane が最大値まで適切にスクロールしない
私のプロジェクトで次の問題があり、問題の原因を突き止めるのにしばらく時間がかかりました。添付したこの簡単なコードで再現できます。
HTMLEditorKit を使用してコンテンツを JTextPane に動的に追加しています。自動スクロールを手動で制御したいので、自動スクロールをオフに設定しました(ユーザーが上にスクロールしたとき、停止したとき、イベントがトリガーされて再びアクティブになったとき)。
問題は、JScrollBar の値を最大値に設定すると、コンテンツが HTMLDocument に挿入された直後に別のものになることです。setValue をもう一度手動でトリガーすると、正しい最大値までスクロールします。
JScrollBar は、HTMLDocument に追加した直後と、(遅れた) 時間後に正しい maximumValue を認識していないようです。
使用する
それも適切に機能しないため、解決策ではありません。それも最大値までスクロールせず、下にビューピクセルを残しますが、これは望ましくありません。
問題を再現する完全なコードを次に示します。右ボタン (追加 & スクロール) をクリックすると、本体に DIV 要素が挿入されます。最後の表示行に到達した瞬間に、最後の最大値まで正しくスクロールされず、最後の行が非表示になります。ただし、左ボタンを手動でクリックして 2 番目の scrollToEnd() をトリガーすると、正しく最大値までスクロールします。
コード:
ただし、このコード置換は機能しますが、小さなギャップが残り、最大値まで適切にスクロールしません。
java - JTextPane StyleSheet を適切に初期化して、他の HTML 対応コンポーネントがスタイルの影響を受けないようにするにはどうすればよいでしょうか?
JTextPane
を使用して HTML をレンダリングし、CSS スタイルシートを適用しようとしています。これは、私がHTMLEditorKit
andStyleSheet
クラスを使用していることを意味します。HTMLEditorKits
すべてが同じ既定のインスタンスを共有していることはわかっているStyleSheet
ため、この既定のスタイルシート オブジェクトを変更すると、アプリケーション レベル (HTML をレンダリングするすべてのコンポーネント) で変更が適用されます。
しかし、私の例ではStyleSheet
、デフォルトに基づいて独自のインスタンスを作成することでこれを回避したと考えました。ただし、表示された で明らかなように、これは機能しません。これはJTree
、 にのみ適用されることを意図したスタイルシートに従ってレンダリングされますJTextPane
。
では、これらのオブジェクトを適切に初期化して、アプリケーション全体に CSS が流出しないようにするにはどうすればよいでしょうか (テキスト ペインは CSS に従ってレンダリングされますが、ツリーはレンダリングされません)。
注: 上の画像の赤い下線は流出の問題を示しており、後で私が追加したものです (いいえ、レンダラーではありません)。
ajax - タイプ 'AjaxControlToolkit.HtmlEditorExtender' には 'EnableSanitization' という名前のパブリック プロパティがありません
ここでは初心者なので、html エディターを使用しましたが、ローカルでは完全に動作しますが、サーバーでは、このエラー Type'AjaxControlToolkit.HtmlEditorExtender'
には ' ' という名前のパブリック プロパティがありませんEnableSanitization
。
その中に1つのプロパティがありますEnableSanitization="false"
が、何が悪いのかわかりません