- ベストアンサー
JEditorPaneについて
swingでJFrameとJEditorPaneを使って、ホームページが見れるようなものを作ったのですが、ページによっては画像が乱れたり文字の表示がおかしくなってしまうページもあります。 これに対する対処法は何かないでしょうか?? 宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
EditorKitと文字エンコーディングの問題だと思います。 EditorKitがHTMLEditorKitであるか確認してください。 文字エンコーディングについては ドキュメント内の文化依存情報は、文字エンコーディングと呼ばれる機構によって扱われます。文字エンコーディングとは、文字セットの構成要素 (文字、表意文字、数字、記号、制御文字) と特定の数値コードの明示的なマッピングであり、ファイルへの保存方法を表します。文字エンコーディングには、ISO-8859-1、ISO-8859-5、Shift-jis、Euc-jp、UTF-8 などがあります。ファイルは、ユーザエージェント (JEditorPane) に渡されるときに、ドキュメントの文字セット (ISO-10646、別名 Unicode) に変換されます。 JEditorPane で使われる文字セットを指定する方法は複数あります。 1 つの方法は、文字セットを MIME 形式のパラメータとして指定すること。この方法では、「setContentType」 メソッドを呼び出す必要がある。コンテンツが 「setPage」 メソッドによってロードされる場合、コンテンツタイプは URL の指定に従って設定される。ファイルが直接ロードされる場合、コンテンツタイプはロードの前に設定される必要がある。 文字セットを指定するためのもう 1 つの方法は、ドキュメント自体にあり、この場合目的の文字セットを指定する前にドキュメントを読み込む必要がある。これを処理するためには、EditorKit 読み込みオペレーションによってスローされる ChangedCharSetException をキャッチする必要がある。読み込み自体は ChangedCharSetException (IOException) で指定された文字セットを使う新しいリーダで再び開始される ※JEditorPanelのJavaDoc参照