Скроллинг 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(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д