package chatty.gui.components.textpane; import javax.swing.event.DocumentEvent; import javax.swing.text.AbstractDocument; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.Element; /** * Adds a way to refresh the (whole) document. * * This is currently used to display Icons after they are fully loaded, although * there should be a better way to do this. * * @author tduva */ class MyDocument extends DefaultStyledDocument { public void refresh() { refresh(0, getLength()); } public void refresh(int offset, int len) { DefaultDocumentEvent changes = new AbstractDocument.DefaultDocumentEvent(offset,len, DocumentEvent.EventType.CHANGE); Element root = getDefaultRootElement(); Element[] removed = new Element[0]; Element[] added = new Element[0]; changes.addEdit(new ElementEdit(root, 0, removed, added)); changes.end(); fireChangedUpdate(changes); } }