Скроллинг JTextArea - Java

Узнай цену своей работы

Формулировка задачи:

Всем привет! На форме есть JTextArea, JScrollPane. Хочу, чтобы при заполнении JTextArea была возможность проскроллить вниз, чтобы увидить последние выведенные в JTextArea строчки. Подскажите, пожалуйста, как это можно реализовать? Можно ли скроллить вручную? Проблема в том, что вертикальный скроллбар отображается, но не скроллит. Заранее спасибо!
panel = new JPanel();
panel.setLayout(null);
 
textArea = new JTextArea();
textArea.setSize(520, 450);
textArea.setLocation(10, 107);
textArea.setEditable(false);
textArea.setCaretPosition(textArea.getText().length());
 
JScrollPane scroll= new JScrollPane(textArea, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
scroll.setSize(520,450);
scroll.setLocation(10,107);
 scroll.getViewport().setBackground(Color.WHITE);

Решение задачи: «Скроллинг JTextArea»

textual
Листинг программы
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.ScrollPaneConstants;
 
public class Test extends JFrame {
    public Test() {
        super("JTextArea LineWrap");
        this.setSize(500, 300);
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
                
        JPanel panel = (JPanel)this.getContentPane();
        panel.setLayout(null);
         
        JTextArea textArea = new JTextArea();               
        textArea.setLineWrap(true);
        
        JScrollPane scroll= new JScrollPane(textArea, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        scroll.setSize(250, 150);
        scroll.setLocation(10,10);      
        
        panel.add(scroll);
        
        this.setVisible(true);
    }       
    
    public static void main(String[] args) {
        new Test();
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.429 из 5