JTextAreas pode exibir grandes quantidades de texto em várias linhas. Quando incorporado em um JScrollPane , JTextAreas exibirá uma barra de rolagem para permitir que o usuário visualize os dados que não se encaixam na área de exibição do componente. Você pode programar seu JScrollPane hesitar e role automaticamente com um loop simples e controle básico fio . Você pode personalizar a quantidade de tempo que o seu programa hesita ea rapidez com que rola . Instruções 
 1 
 Criar um novo JScrollPane e adicionar seu JTextArea a ele com o seguinte código: 
 
 JScrollPane scrollpane = new javax.swing.JScrollPane (); scrollPane.setViewportView ( textArea ) ; 
 
 Change " textArea " para o nome do seu JTextArea . Altere a linha de código em seu programa onde você adicionar seu JTextArea para seu objeto pai para adicionar o objeto JScrollPane chamado " scrollpane " em vez . 
 2 
 Crie três variáveis inteiras para armazenar o tempo de hesitação em segundos antes das autoscrolls JTextArea , o tempo de atraso em segundos entre cada rolo e o número de linhas do JTextArea deve mover cada vez que autoscrolls . Use o seguinte código : 
 
 int hesitationTime = 5; int delayTime = 1; int scrollIncrement = 10; 
 3 
 Criar um novo Try ... Catch demonstrativo para pegar BadLocationExceptions e InterruptedExceptions com o seguinte código : 
 
 try { 
 
 } catch ( BadLocationException ex) { System.out.println (" localização inválido rolagem ");} catch ( InterruptedException ex) { System.out.println ( "Thread interrompida ");} 
 4 
 Adicione o seguinte código após o colchete de abertura na demonstração Tente fazer com que o programa de esperar por um período de tempo especificado antes de começar a rolar o JTextArea : 
 
 Thread.sleep ( hesitationTime * 1000 ); 
 5 
 Digite o seguinte laço logo abaixo da linha de código anterior para percorrer a área de texto em intervalos específicos : 
 
 for (int i = 0; i < textArea.getLineCount (); i + = scrollIncrement ) { Thread.sleep ( delayTime * 1000 ); textArea.setCaretPosition ( textArea.getLineEndOffset (i) - 1); } 
 6 
 Vá até o final do JTextArea . Adicione esta linha de código após o loop For : 
 
 Thread.sleep ( delayTime * 1000 ); textArea.setCaretPosition ( textArea.getLineEndOffset ( textArea.getLineCount () - 1) );