相关疑难解决方法(0)

Java/Swing:JScrollPane中的JTextArea,如何防止自动滚动?

这是一段可运行的代码,显示了我的"问题".

我有一个被JTextArea包裹的JScrollPane.当我更改文本时JTextArea,JScrollPane滚动会自动滚动到文本的末尾,我不希望这样.

这是我的要求:

  • 应用程序不应自动垂直滚动,但......
  • 用户应该能够垂直滚动
  • 用户应该能够水平滚动
  • 应用程序永远不应水平滚动
  • JTextArea不能编辑

(即使文本比水平方式更多,应用程序和用户都不应该能够水平滚动.垂直方向,只有用户才能滚动.)

我不知道如何"修复"这个问题:应该使用JTextAreaJScrollPane方法修复吗?

请注意,AFAICT根本重复:JTextPane阻止在父JScrollPane中滚动

这是一个有趣的例子,它每隔200毫秒放入新文本JTextArea,你可以看到JScrollPane总是自动滚动到文本的末尾.

import javax.swing.*;
import java.awt.*;
import java.util.Random;

public final class TextInScrollPane extends JFrame {

    private static final Random r = new Random( 42 );

    public static void main( final String[] args ) {
        final JFrame f = new JFrame();
        f.setDefaultCloseOperation( EXIT_ON_CLOSE ); …
Run Code Online (Sandbox Code Playgroud)

java swing jscrollpane jtextarea

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×1

jscrollpane ×1

jtextarea ×1

swing ×1