2012-04-30 8 views
0

jeditorpaneにhtmlファイルを表示しようとしています。JEditorPane内にhtmlファイルを表示する方法

ファイルはプロジェクトフォルダに保存され、プログラムによって生成されました。 FredReceipt.htmlと呼ばれる領収書です

私はjeditorpaneをURLに使用する方法を理解していますが、チュートリアルなどでどのようにファイルを読み込むことができるのか理解できませんでした。ウェブ。相対URLを使用してファイルをロードします。これは私が現時点で持っているものですが、(明らかに)機能していないので、IOExceptionをキャッチしています。

public void showReceipt() { 
    receiptPanel = new JPanel(); 
    receiptPanel.setVisible(true); 
    receiptPanel.setBackground(new Color(250,251,253)); 
    try { 
     JEditorPane htmlPane = new JEditorPane(); 
     htmlPane.setPage(new URL("FredReceipt.html")); 
     htmlPane.setEditable(false); 
     receiptPanel.add(new JScrollPane(htmlPane)); 
    } catch(IOException ioe) { 
     System.err.println("Error displaying file"); 
    } 

} 

FredReceipt.htmlは明らかURLではありませんが、私は、ファイルがはるかに読み取ることができることを読みました:

public void showReceipt() { 
    receiptPanel = new JPanel(); 
    receiptPanel.setVisible(true); 
    receiptPanel.setBackground(new Color(250,251,253)); 
    String url = "FredReceipt.html"; 
    try { 
     JEditorPane htmlPane = new JEditorPane("FredReceipt.html"); 
     htmlPane.setEditable(false); 
     receiptPanel.add(new JScrollPane(htmlPane)); 
    } catch(IOException ioe) { 
     System.err.println("Error displaying " + url); 
    } 

} 

私はまた、このような「setPageで()」メソッドを使用して試してみましたURLと同じですが、私はちょうど正しい方法を見つけることができませんでした。

私の質問があまりにもダムではないことを願って、ありがとう!

+0

"それは機能していません"とはどういう意味ですか?具体的にする。 – twain249

+0

申し訳ありませんが、IOExceptionをキャッチしています – DanMc

+0

私は希望を失った直後にこのソリューションを見つけることができ、この質問をしました。任意の時間を無駄にして申し訳ありません。私が許可されたら私はそれを掲示する(私は数百人の担当者のためにそれを数時間掲示することができない)。 – DanMc

答えて

4

ファイルは、アプリケーションがインストールされているのと同じディレクトリに書き込まないでください。このデータはアプリケーションによって生成されるため、一時的なようです。その場合、java.io.tmpdirtemporary fileとして、delete on exitへのリクエストを入れるのが最善です。

2

JEditorPaneは、さまざまなファイル形式から派生したテキストを表示できる空白のテキスト領域の一種です。

次のリンクが参考になる場合があります。
HTML in JEditorPane

関連する問題