2009-01-05 65 views
1

我有一個小的(500kb)swing applet,它使用JEditorPane在其中顯示非常簡單/有限的一組小HTML頁面,但這似乎不能100%流利地運行,客戶可以在沒有任何Java異常情況下顯示空白頁面。該頁面可以在我的機器上正常工作。我需要一種更可靠的方式向所有用戶顯示HTML頁面。在不使用JEditorPane的情況下查看Applet中的HTML

任何想法,如果有一個小+免費類,而不是使用的JEditorPane 或者是有一個簡單的辦法,使之更加可靠(非空)

private JEditorPane m_editorPane = new JTextPane(); 


    m_editorPane.setEditable(false); 

    m_editorPane.setBackground(new Color(239 ,255, 215)); 
    m_editorPane.setBounds(30,42,520,478); 
    m_editorPane.setDoubleBuffered(true); 
    m_editorPane.setBorder(null); 

    m_editorPane.registerEditorKitForContentType("text/html", "com.xxxxx.SynchronousHTMLEditorKit"); 


m_editorPane.setPage(ResourceLoader.getURLforDataFile(param.trim())); 

回答

1

據我所知,JEditorPane中是一種非常原始的HTML組件:它被CSS困惑,對JS一無所知。
我懷疑你會發現做得更好的「小型+免費」類,HTML解析和顯示不是一個簡單的業務,甚至更少。

也許最好讓企業中的大牌來照顧這個任務,也就是說,使用Internet Explorer或Mozilla組件(取決於可用的內容等):JDIC: Embedding a Web browser in Java

+0

好吧,我顯示非常基本的HTML(文本和1-2張照片),它對我來說很重要,即組件是一個小組件,適用於所有瀏覽器和操作系統。所以我擔心這個嵌入選項不好。 – Tom 2009-01-05 14:00:51

+0

我錯過了你顯示你自己的頁面的事實。我會看看它爲什麼在一些機器上而不是在其他機器上。他們有相同的系統嗎?相同的JRE? – PhiLho 2009-01-05 14:39:20

2

雖然我以前沒有使用過它,Lobo是一個開源的Web瀏覽器的Java功能,支持HTML 4,JavaScript和CSS 2

相比JEditorPane其中只有支持HTML 3.2,它似乎Lobo可能是加載現代網頁的更好選擇。

0

我最近使用了POC編寫的幾個java HTML呈現解決方案。我們決定使用JEditorPane,因爲我們真的需要儘量減少我們的jar的大小,並且它已經嵌入Swing中。然而,我碰到的最好的圖書館是Flying Saucer。它沒有任何js的支持,但它的渲染質量和api是頂尖的,它是「免費」(LGLP),100%的Java,只有約1mb(對我們來說仍然太大,但與其他選項相比很小)。然而,它只能呈現嚴格的XHTML(所有屬性值必須被引用,所有標記都已正確形成),但根據您的需要(並且HtmlCleaner或其他某些其他此類實用程序可能有助於實現這一目標)也可以。

相關問題