java - 如何使 JTextArea 移动滚动条

标签 java swing jscrollpane

我正在使用 Java Swing 并将 JTextArea 放在 JScrollBar 中。我想要的是跟随数据的滚动条。 例如,我想在 JTextArea 中写入 for(;;) 的输出,这样我就可以看到最新(最新)的值。 我怎么能那样做?

编辑:我已将问题编辑得更具体。

最佳答案

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class AutoScrollTextArea {

    static String text = "Lorem ipsum dolor sit amet, "
        +"consectetur adipiscing elit. "
        +"Integer vestibulum metus id elit malesuada mattis. "
        +"Aliquam non rutrum justo. Morbi eleifend nisi ut "
        +"turpis commodo nec ultricies arcu vehicula. "
        +"Donec varius neque at nunc pellentesque tincidunt. "
        +"Phasellus sed ante ut tortor fermentum posuere sed "
        +"sit amet tortor. Sed cursus magna a lacus mattis eleifend. "
        +"Aliquam congue faucibus purus vel commodo. "
        +"Fusce rutrum consectetur nibh nec facilisis. ";

    public static void main(String[] args) {

        Runnable r = new Runnable() {
            public void run() {
                JPanel gui = new JPanel(new BorderLayout(5,5));
                final JTextArea textArea = new JTextArea(10,60);
                textArea.setWrapStyleWord(true);
                textArea.setLineWrap(true);
                textArea.setEnabled(false);
                gui.add(new JScrollPane(textArea), BorderLayout.CENTER);

                JButton button = new JButton("Add Text");
                button.addActionListener( new ActionListener(){
                    public void actionPerformed(ActionEvent ae) {
                        textArea.append(text);
                        textArea.append(System.getProperty("line.separator"));
                        textArea.append(System.getProperty("line.separator"));
                    }
                } );
                gui.add(button, BorderLayout.SOUTH);

                JOptionPane.showMessageDialog(null, gui);
            }
        };
        SwingUtilities.invokeLater(r);
    }
}

(自动发生;)

关于java - 如何使 JTextArea 移动滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5701171/

相关文章:

Java程序打印N以内的所有奇数,每行打印10个整数

java - 字符串值到整数?

java - 将米格布局移植到代号一 适应边距的正确方法是什么?

java - 将 JCheckBox 添加到 JScrollPane

java - 如何设置水平滚动 Pane 的起始位置在左端?

javascript - 如何激活 iframe 中的 jquery 功能?

java - Ajax POST 删除同名的多个项目 Spring MVC

java - 是否有可能复制 JVM,以便我可以简单地从主 jvm 切换到辅助 jvm,以防主 jvm 出现故障

java - 如何与另一件 JComboBox 元素交换?

java - 在 Java 中使用 Timer 重置矩形位置