我正在编写一个聊天应用程序,可以在其中发布图像(使用 html)。消息显示在 Jtextpane 中,包装在 Jscrollpane 中,每次收到消息时都设置为向下滚动。对于普通文本,这非常有效,但是,每次收到消息时都需要重新加载图像,并且滚动窗格似乎在图像完成加载之前向下滚动,仅部分向下滚动。我尝试不断从另一个线程向下滚动它,但这似乎并没有这样做,所以我猜它没有看到图像对象的实际大小,只有在实际图像之前加载的小“占位符”图片?
public void addMessage(String sender, String msg) throws BadLocationException, IOException{
pane.setEditorKit(kit);
pane.setDocument(doc);
kit.insertHTML(doc, doc.getLength(), "<b>[" + sender + "]</b> " + msg, 0, 0, null);
pane.setCaretPosition(pane.getDocument().getLength());
}
有没有办法解决?