由於某些原因,我的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;
}
上那是什麼SynchronousHTMLEditorKit? – willcodejavaforfood 2009-04-16 15:41:01
我已經將它添加到上面的問題,其強制同步加載 – Tom 2009-04-17 06:32:00