[Resolvido]Fazer jTextArea sempre rolar pra baixo

7 respostas
SirDominque

Oi Gente.
Estou com uma dúvida…
Como Faço pro jTextArea se comportar de forma que, ele sempre role pra baixo, igual nos chats do UOL,MSN,etc?

7 Respostas

ViniGodoy

Após dar append no seu JTextArea chame:

Agora, essa classe pode te ser útil:
http://www.guj.com.br/java/83462-ajuda-com-um-jtextarea-especial#445238

SirDominque

ViniGodoy:
Após dar append no seu JTextArea chame:

Agora, essa classe pode te ser útil:
http://www.guj.com.br/java/83462-ajuda-com-um-jtextarea-especial#445238

jTextArea_Chat.setCaretPosition(jTextArea_Chat.getDocument().getLength() -1);

Assim?

SirDominque

Andre Lopes:
ViniGodoy:
Após dar append no seu JTextArea chame:

Agora, essa classe pode te ser útil:
http://www.guj.com.br/java/83462-ajuda-com-um-jtextarea-especial#445238

jTextArea_Chat.setCaretPosition(jTextArea_Chat.getDocument().getLength() -1);

Assim?

O texto nao esta mais aparecendo na tela…

ViniGodoy

Isso mesmo.

SirDominque

Então mais agora o texto nao aparece na tela.

public void setReceivedMessageToView(String msg) {
        String text = jTextArea_Chat.getText();
        if (text.equals("")) {
            jTextArea_Chat.setText(msg);
        } else {
            //
            String lineJumper = System.getProperty("line.separator");
            //
            jTextArea_Chat.setText(text + lineJumper + msg);
        }
        jTextArea_Chat.setCaretPosition(jTextArea_Chat.getDocument().getLength() -1);
       
    }
ViniGodoy

Por que você não usa o método append??

public void setReceivedMessageToView(String msg) { String lineJumper = System.getProperty("line.separator"); jTextArea_Chat.append(lineJumper + msg); jTextArea_Chat.setCaretPosition(jTextArea_Chat.getDocument().getLength() -1); }

SirDominque

Fiz assim :

JTextArea textArea = new JTextArea(); DefaultCaret caret = (DefaultCaret)textArea.getCaret(); caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);

Agora foi.

Não tinha entendido o outro jeito.

Criado 13 de janeiro de 2013
Ultima resposta 15 de jan. de 2013
Respostas 7
Participantes 2