Atualizar um JEditorPane utilizando Thread

Bom dia,

Tenho aqui um programa onde uma thread atualiza o conteúdo de um JEditorPane.
O problema é que após a atualização não consigo fazer a rolar a ScrollBar para o final do texto, mesmo utilizando o método setValue().
O curioso é que se eu fizer a mesma atualização por fora da thread, modificando o texto a partir de um JButton por exemplo, o Scroll rola para o final do texto sem problemas.
Pesquisando pelo pai dos burros digital (Google) ei ví que aparentemente dá pra se resolver isso com uma classe chamada JViewPort, mas não encontrei nenhum exemplo de como se utiliza isso.
Alguém poderia me ajudar a resolver esse problema?

segue um exemplo do código que está dando problema:


        t=new Thread(){
            @Override
            public void run(){
                while(true){
                    panelText = (panelText
                + "<p style=\"margin: 0;color: " + userNameTextColor + ";background-color: " + backgroundColor + "\"><font face=\"consolas\">" + userName + ": <font color=" + messageTextColor + ">" + finalMessage + "</font></p>");
                   jEditorPane1.setText(panelText);

                    jScrollPane1.getVerticalScrollBar().setValue(jScrollPane1.getVerticalScrollBar().getMaximum());
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException ex) {
                        Logger.getLogger(JEditorPaneTest.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
            }
        };
        t.start();

obrigado pela ajuda!