2009-04-16 62 views
1

由於某些原因,我的HTML頁面在屏幕上顯示時不會100%,所以它對我來說看起來像是一個計時問題。如果我刪除scrollpane並使用EditorPane,它就可以正常工作。當它應該顯示時,scrollPane會保持灰色隨機顯示editorPane(html)

下面我應該添加什麼樣的代碼來強制java小程序屏幕重繪/刷新,並且我能以某種方式等待,直到所有圖像真的加載好了嗎?當前圖像在GUI上可見文本後繪製。
(灰色消失,當我最小化+最大化窗口缺少文本顯示。)

我用SynchronousHTMLEditorKit作爲m_editorPane.setEditorKitForContentType

private JEditorPane m_editorPane = new JTextPane(); 
private JScrollPane m_scrollPane = new JScrollPane(); 
.... 
JEditorPane.registerEditorKitForContentType("text/html", "SynchronousHTMLEditorKit"); 
m_editorPane.setEditorKitForContentType("text/html", new SynchronousHTMLEditorKit()); 
m_editorPane.setPage(ResourceLoader.getURLforDataFile(file)); 
m_scrollPane.getViewport().add(m_editorPane); 
m_scrollPane.validate(); 
m_scrollPane.repaint(); <-- does not seem to solve this 

add(m_scrollPane); 
/// add( m_editorPane) <-- this WORKS !! 

SynchronousHTMLEditorKit被定義爲:

public class SynchronousHTMLEditorKit extends HTMLEditorKit { 
    public Document createDefaultDocument(){ 
     HTMLDocument doc = (HTMLDocument)(super.createDefaultDocument()); 
     doc.setAsynchronousLoadPriority(-1); //do synchronous load 
     return doc; 
    } 
+0

上那是什麼SynchronousHTMLEditorKit? – willcodejavaforfood 2009-04-16 15:41:01

+0

我已經將它添加到上面的問題,其強制同步加載 – Tom 2009-04-17 06:32:00

回答

0

什麼如果你不使用SynchronousHTMLEditorKit會發生?沒有它,你的代碼完全適合我。

1

嘗試將驗證並重新繪製調用底部,添加後,並呼籲他們的容器,而不是滾動窗格

add(m_scrollPane); 
validate(); 
repaint();