1

HtmlファイルデータをJavaSwing形式で表示しています。内容は表示されていますが、一部のフォーマットが乱れています。画像は表示されていますが、フォーマットが妨げられています。ハイパーリンクが機能していません。コードを提案していただけますか。次のコードを使用しています。setContentTypeメソッドに問題があります

    File htmlFile = new File("e:/test/help4t.htm");
             htmlPane = new JEditorPane();
            htmlPane.setContentType("text/html");
        htmlPane.setPage(htmlFile.toURI().toURL());
         //URL url= new URL("http://www.lawcrux.com");


       //  htmlPane.setPage(url);
         htmlPane.addHyperlinkListener(this);

        JScrollPane jsp= new JScrollPane(htmlPane);

                cp.add(jsp);
        jsp.setBounds(750, 50, 600, 600);  


        } catch (Exception ex) {
        JOptionPane.showMessageDialog(null, "exception is" + ex);
        }

助けてください

よろしく

4

2 に答える 2

3

さてJEditorPane、HTML3.2までしかサポートしていません。

上記のことでも; 私はあなたを助けるためにライブラリ(またはあなた自身のもの-それがあなたのプロジェクトでない限り)を使用してhtmlをレンダリングすることをお勧めしません。(純粋なJavaライブラリ)を見てください:

  • Loboプロジェクト(Loboプロジェクトは、HTMLとJavascriptをサポートするだけでなく、任意のリッチインターネットアプリケーション(RIA)言語のレンダリングを可能にする、完全にJavaで記述された拡張可能なブラウザーとRIAプラットフォームの開発を目的としています)

  • Ekit(Ekitは、無料のオープンソースJava HTMLエディターアプレットおよびアプリケーションです。Ekitスタンドアロンでは、HTMLをロードおよび保存したり、RTFとしてシリアル化および保存したりできます。最初の製品リリースバージョンに近づいています。)

  • DJプロジェクト(NativeSwingライブラリを使用すると、一部のネイティブコンポーネントをSwingアプリケーションに簡単に統合でき、SwingのAPIを拡張するためのいくつかのネイティブユーティリティが提供されます。フレームワークライブラリと、多くの豊富なコンポーネントを提供するSWTベースの実装で構成されています。このSWTベースの実装の主要なコンポーネントは、もちろん、リッチなWebブラウザーとFlashプレーヤーですが、マルチメディアプレーヤー、HTMLエディター、および構文ハイライターも提供します。)

  • CSSBox(CSSBoxは、純粋なJavaで記述された(X)HTML / CSSレンダリングエンジンです。その主な目的は、レンダリングされたページのコンテンツとレイアウトに関する完全でさらに処理可能な情報を提供することです。ただし、レンダリングされたドキュメントを表示することもできます。)

  • RealObjects(ただし無料ではありません)

于 2012-09-22T11:11:45.123 に答える
2

データを抽出して操作するJsoupための非常に便利なAPIを提供します。

このリンクを参照してください:

http://jsoup.org/

于 2012-09-22T11:07:37.997 に答える